Generated by Cython 0.29
Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.
Raw output: _GG03.c
0001:
+0002: # cimport
__Pyx_TraceLine(2,0,__PYX_ERR(0, 2, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0003: cimport cython
0004: cimport numpy as cnp
0005: from cpython cimport bool
0006: from libc.math cimport sqrt as Csqrt, ceil as Cceil, abs as Cabs
0007: from libc.math cimport floor as Cfloor, round as Cround, log2 as Clog2
0008: from libc.math cimport cos as Ccos, acos as Cacos, sin as Csin, asin as Casin
0009: from libc.math cimport atan2 as Catan2, pi as Cpi
0010:
0011: # import
+0012: import sys
__Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error)) __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0013: import numpy as np
__Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error)) __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0014: import scipy.integrate as scpintg
__Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s__109); __Pyx_GIVEREF(__pyx_n_s__109); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__109); __pyx_t_2 = __Pyx_Import(__pyx_n_s_scipy_integrate, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_scpintg, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0015: from matplotlib.path import Path
__Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_Path); __Pyx_GIVEREF(__pyx_n_s_Path); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Path); __pyx_t_1 = __Pyx_Import(__pyx_n_s_matplotlib_path, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Path, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0016:
+0017: if sys.version[0]=='3':
__Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_3, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L2; }
+0018: from inspect import signature as insp
__Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_signature); __Pyx_GIVEREF(__pyx_n_s_signature); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_signature); __pyx_t_2 = __Pyx_patch_inspect(__Pyx_Import(__pyx_n_s_inspect, __pyx_t_1, -1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_signature); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_insp, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0019: elif sys.version[0]=='2':
__Pyx_TraceLine(19,0,__PYX_ERR(0, 19, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_version); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ } __pyx_L2:;
+0020: from inspect import getargspec as insp
__Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L1_error)) __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_getargspec); __Pyx_GIVEREF(__pyx_n_s_getargspec); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_getargspec); __pyx_t_1 = __Pyx_patch_inspect(__Pyx_Import(__pyx_n_s_inspect, __pyx_t_2, -1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_getargspec); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_insp, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0021:
0022:
0023:
+0024: __all__ = ['CoordShift',
__Pyx_TraceLine(24,0,__PYX_ERR(0, 24, __pyx_L1_error)) __pyx_t_1 = PyList_New(28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_CoordShift); __Pyx_GIVEREF(__pyx_n_s_CoordShift); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_CoordShift); __Pyx_INCREF(__pyx_n_s_Poly_isClockwise); __Pyx_GIVEREF(__pyx_n_s_Poly_isClockwise); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Poly_isClockwise); __Pyx_INCREF(__pyx_n_s_Poly_Order); __Pyx_GIVEREF(__pyx_n_s_Poly_Order); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_Poly_Order); __Pyx_INCREF(__pyx_n_s_Poly_VolAngTor); __Pyx_GIVEREF(__pyx_n_s_Poly_VolAngTor); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_Poly_VolAngTor); __Pyx_INCREF(__pyx_n_s_Sino_ImpactEnv); __Pyx_GIVEREF(__pyx_n_s_Sino_ImpactEnv); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_s_Sino_ImpactEnv); __Pyx_INCREF(__pyx_n_s_ConvertImpact_Theta2Xi); __Pyx_GIVEREF(__pyx_n_s_ConvertImpact_Theta2Xi); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_s_ConvertImpact_Theta2Xi); __Pyx_INCREF(__pyx_n_s_Ves_isInside); __Pyx_GIVEREF(__pyx_n_s_Ves_isInside); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_n_s_Ves_isInside); __Pyx_INCREF(__pyx_n_s_Ves_mesh_dlfromL_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_mesh_dlfromL_cython); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_n_s_Ves_mesh_dlfromL_cython); __Pyx_INCREF(__pyx_n_s_Ves_meshCross_FromD); __Pyx_GIVEREF(__pyx_n_s_Ves_meshCross_FromD); PyList_SET_ITEM(__pyx_t_1, 8, __pyx_n_s_Ves_meshCross_FromD); __Pyx_INCREF(__pyx_n_s_Ves_meshCross_FromInd); __Pyx_GIVEREF(__pyx_n_s_Ves_meshCross_FromInd); PyList_SET_ITEM(__pyx_t_1, 9, __pyx_n_s_Ves_meshCross_FromInd); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_Cross); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_Cross); PyList_SET_ITEM(__pyx_t_1, 10, __pyx_n_s_Ves_Smesh_Cross); __Pyx_INCREF(__pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython); PyList_SET_ITEM(__pyx_t_1, 11, __pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython); __Pyx_INCREF(__pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython); PyList_SET_ITEM(__pyx_t_1, 12, __pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython); __Pyx_INCREF(__pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython); PyList_SET_ITEM(__pyx_t_1, 13, __pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython); __Pyx_INCREF(__pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython); PyList_SET_ITEM(__pyx_t_1, 14, __pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_Tor_SubFromD_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_Tor_SubFromD_cython); PyList_SET_ITEM(__pyx_t_1, 15, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython); PyList_SET_ITEM(__pyx_t_1, 16, __pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy); PyList_SET_ITEM(__pyx_t_1, 17, __pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_TorStruct_SubFromInd); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_TorStruct_SubFromInd); PyList_SET_ITEM(__pyx_t_1, 18, __pyx_n_s_Ves_Smesh_TorStruct_SubFromInd); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_Lin_SubFromD_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_Lin_SubFromD_cython); PyList_SET_ITEM(__pyx_t_1, 19, __pyx_n_s_Ves_Smesh_Lin_SubFromD_cython); __Pyx_INCREF(__pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython); __Pyx_GIVEREF(__pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython); PyList_SET_ITEM(__pyx_t_1, 20, __pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython); __Pyx_INCREF(__pyx_n_s_LOS_Calc_PInOut_VesStruct); __Pyx_GIVEREF(__pyx_n_s_LOS_Calc_PInOut_VesStruct); PyList_SET_ITEM(__pyx_t_1, 21, __pyx_n_s_LOS_Calc_PInOut_VesStruct); __Pyx_INCREF(__pyx_n_s_LOS_isVis_PtFromPts_VesStruct); __Pyx_GIVEREF(__pyx_n_s_LOS_isVis_PtFromPts_VesStruct); PyList_SET_ITEM(__pyx_t_1, 22, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct); __Pyx_INCREF(__pyx_n_s_check_ff); __Pyx_GIVEREF(__pyx_n_s_check_ff); PyList_SET_ITEM(__pyx_t_1, 23, __pyx_n_s_check_ff); __Pyx_INCREF(__pyx_n_s_LOS_get_sample); __Pyx_GIVEREF(__pyx_n_s_LOS_get_sample); PyList_SET_ITEM(__pyx_t_1, 24, __pyx_n_s_LOS_get_sample); __Pyx_INCREF(__pyx_n_s_LOS_calc_signal); __Pyx_GIVEREF(__pyx_n_s_LOS_calc_signal); PyList_SET_ITEM(__pyx_t_1, 25, __pyx_n_s_LOS_calc_signal); __Pyx_INCREF(__pyx_n_s_LOS_sino); __Pyx_GIVEREF(__pyx_n_s_LOS_sino); PyList_SET_ITEM(__pyx_t_1, 26, __pyx_n_s_LOS_sino); __Pyx_INCREF(__pyx_n_s_integrate1d); __Pyx_GIVEREF(__pyx_n_s_integrate1d); PyList_SET_ITEM(__pyx_t_1, 27, __pyx_n_s_integrate1d); if (PyDict_SetItem(__pyx_d, __pyx_n_s_all_2, __pyx_t_1) < 0) __PYX_ERR(0, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0025: 'Poly_isClockwise', 'Poly_Order', 'Poly_VolAngTor',
0026: 'Sino_ImpactEnv', 'ConvertImpact_Theta2Xi',
0027: '_Ves_isInside',
0028: '_Ves_mesh_dlfromL_cython',
0029: '_Ves_meshCross_FromD', '_Ves_meshCross_FromInd', '_Ves_Smesh_Cross',
0030: '_Ves_Vmesh_Tor_SubFromD_cython', '_Ves_Vmesh_Tor_SubFromInd_cython',
0031: '_Ves_Vmesh_Lin_SubFromD_cython', '_Ves_Vmesh_Lin_SubFromInd_cython',
0032: '_Ves_Smesh_Tor_SubFromD_cython', '_Ves_Smesh_Tor_SubFromInd_cython',
0033: '_Ves_Smesh_TorStruct_SubFromD_cython', '_Ves_Smesh_TorStruct_SubFromInd_cython',
0034: '_Ves_Smesh_Lin_SubFromD_cython', '_Ves_Smesh_Lin_SubFromInd_cython',
0035: 'LOS_Calc_PInOut_VesStruct', 'LOS_isVis_PtFromPts_VesStruct',
0036: 'check_ff', 'LOS_get_sample', 'LOS_calc_signal',
0037: 'LOS_sino','integrate1d']
0038:
0039:
0040:
0041:
0042:
0043:
0044: ########################################################
0045: ########################################################
0046: # Coordinates handling
0047: ########################################################
0048:
+0049: def CoordShift(Pts, In='(X,Y,Z)', Out='(R,Z)', CrossRef=None):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_1CoordShift(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_CoordShift[] = " Check the shape of an array of points coordinates and/or converts from 2D to 3D, 3D to 2D, cylindrical to cartesian... (CrossRef is an angle (Tor) or a distance (X for Lin))";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_1CoordShift = {"CoordShift", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_1CoordShift, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_CoordShift};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_1CoordShift(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_Pts = 0;
PyObject *__pyx_v_In = 0;
PyObject *__pyx_v_Out = 0;
PyObject *__pyx_v_CrossRef = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("CoordShift (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Pts,&__pyx_n_s_In,&__pyx_n_s_Out,&__pyx_n_s_CrossRef,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)((PyObject*)__pyx_kp_s_X_Y_Z));
values[2] = ((PyObject *)((PyObject*)__pyx_kp_s_R_Z));
values[3] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Pts)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_In);
if (value) { values[1] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_CrossRef);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "CoordShift") < 0)) __PYX_ERR(0, 49, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_Pts = values[0];
__pyx_v_In = values[1];
__pyx_v_Out = values[2];
__pyx_v_CrossRef = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("CoordShift", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 49, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.CoordShift", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_CoordShift(__pyx_self, __pyx_v_Pts, __pyx_v_In, __pyx_v_Out, __pyx_v_CrossRef);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_CoordShift(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_Pts, PyObject *__pyx_v_In, PyObject *__pyx_v_Out, PyObject *__pyx_v_CrossRef) {
PyObject *__pyx_v_Ins = NULL;
PyObject *__pyx_v_Outs = NULL;
PyObject *__pyx_v_InT = NULL;
PyObject *__pyx_v_OutT = NULL;
PyObject *__pyx_v_ndim = NULL;
PyObject *__pyx_v_pts = NULL;
PyObject *__pyx_v_ii = NULL;
PyObject *__pyx_v_ff = NULL;
PyObject *__pyx_v_ss = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj_)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("CoordShift", 0);
__Pyx_TraceCall("CoordShift", __pyx_f[0], 49, 0, __PYX_ERR(0, 49, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_Pts);
__Pyx_INCREF(__pyx_v_In);
__Pyx_INCREF(__pyx_v_Out);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_AddTraceback("tofu.geom._GG03.CoordShift", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_Ins);
__Pyx_XDECREF(__pyx_v_Outs);
__Pyx_XDECREF(__pyx_v_InT);
__Pyx_XDECREF(__pyx_v_OutT);
__Pyx_XDECREF(__pyx_v_ndim);
__Pyx_XDECREF(__pyx_v_pts);
__Pyx_XDECREF(__pyx_v_ii);
__Pyx_XDECREF(__pyx_v_ff);
__Pyx_XDECREF(__pyx_v_ss);
__Pyx_XDECREF(__pyx_v_Pts);
__Pyx_XDECREF(__pyx_v_In);
__Pyx_XDECREF(__pyx_v_Out);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__110 = PyTuple_Pack(13, __pyx_n_s_Pts, __pyx_n_s_In, __pyx_n_s_Out, __pyx_n_s_CrossRef, __pyx_n_s_Ins, __pyx_n_s_Outs, __pyx_n_s_InT, __pyx_n_s_OutT, __pyx_n_s_ndim, __pyx_n_s_pts, __pyx_n_s_ii, __pyx_n_s_ff, __pyx_n_s_ss); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__110);
__Pyx_GIVEREF(__pyx_tuple__110);
__pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_CoordShift, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 49, __pyx_L1_error)
/* … */
__Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_1CoordShift, 0, __pyx_n_s_CoordShift, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__111);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_CoordShift, __pyx_t_1) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_tuple__111 = PyTuple_Pack(3, ((PyObject*)__pyx_kp_s_X_Y_Z), ((PyObject*)__pyx_kp_s_R_Z), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__111);
__Pyx_GIVEREF(__pyx_tuple__111);
0050: """ Check the shape of an array of points coordinates and/or converts from 2D to 3D, 3D to 2D, cylindrical to cartesian... (CrossRef is an angle (Tor) or a distance (X for Lin))"""
+0051: assert all([type(ff) is str and ',' in ff for ff in [In,Out]]), "Arg In and Out (coordinate format) must be comma-separated !"
__Pyx_TraceLine(51,0,__PYX_ERR(0, 51, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_In); __Pyx_GIVEREF(__pyx_v_In); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_In); __Pyx_INCREF(__pyx_v_Out); __Pyx_GIVEREF(__pyx_v_Out); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_Out); __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (__pyx_t_4 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 51, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_ff, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_v_ff)) == ((PyObject *)(&PyString_Type))); if (__pyx_t_5) { } else { __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L5_bool_binop_done; } __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s__2, __pyx_v_ff, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 51, __pyx_L1_error) __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; __pyx_L5_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_In_and_Out_coordinate_format); __PYX_ERR(0, 51, __pyx_L1_error) } } #endif
+0052: assert type(Pts) is np.ndarray and Pts.ndim in [1,2] and Pts.shape[0] in (2,3), "Points must be a 1D or 2D np.ndarray of 2 or 3 coordinates !"
__Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_v_Pts)) == __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L10_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __pyx_t_7; __pyx_L10_bool_binop_done:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { } else { __pyx_t_5 = __pyx_t_7; goto __pyx_L7_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L12_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __pyx_t_8; __pyx_L12_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = (__pyx_t_7 != 0); __pyx_t_5 = __pyx_t_8; __pyx_L7_bool_binop_done:; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Points_must_be_a_1D_or_2D_np_nda); __PYX_ERR(0, 52, __pyx_L1_error) } } #endif
+0053: assert CrossRef is None or type(CrossRef) in [int,float,np.int64,np.float64], "Arg CrossRef must be a float !"
__Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_8 = (__pyx_v_CrossRef == Py_None); __pyx_t_7 = (__pyx_t_8 != 0); if (!__pyx_t_7) { } else { __pyx_t_5 = __pyx_t_7; goto __pyx_L14_bool_binop_done; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_CrossRef))); __pyx_t_3 = ((PyObject *)Py_TYPE(__pyx_v_CrossRef)); __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L16_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L16_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L16_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __pyx_t_8; __pyx_L16_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = (__pyx_t_7 != 0); __pyx_t_5 = __pyx_t_8; __pyx_L14_bool_binop_done:; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_CrossRef_must_be_a_float); __PYX_ERR(0, 53, __pyx_L1_error) } } #endif
0054:
0055: # Pre-format inputs
+0056: In, Out = In.lower(), Out.lower()
__Pyx_TraceLine(56,0,__PYX_ERR(0, 56, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_In, __pyx_n_s_lower); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Out, __pyx_n_s_lower); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_In, __pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_Out, __pyx_t_1); __pyx_t_1 = 0;
0057:
0058: # Get order
+0059: Ins = In.replace('(','').replace(')','').split(',')
__Pyx_TraceLine(59,0,__PYX_ERR(0, 59, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_In, __pyx_n_s_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__5 = PyTuple_Pack(2, __pyx_kp_s__3, __pyx_kp_s__4); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s__2); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_Ins = __pyx_t_1; __pyx_t_1 = 0; __pyx_tuple__7 = PyTuple_Pack(2, __pyx_kp_s__6, __pyx_kp_s__4); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7);
+0060: Outs = Out.replace('(','').replace(')','').split(',')
__Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Out, __pyx_n_s_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__5 = PyTuple_Pack(2, __pyx_kp_s__3, __pyx_kp_s__4); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s__2); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_Outs = __pyx_t_1; __pyx_t_1 = 0; __pyx_tuple__7 = PyTuple_Pack(2, __pyx_kp_s__6, __pyx_kp_s__4); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7);
+0061: assert all([ss in ['x','y','z','r','phi'] for ss in Ins]), "Non-valid In !"
__Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_Ins)) || PyTuple_CheckExact(__pyx_v_Ins)) { __pyx_t_3 = __pyx_v_Ins; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_Ins); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 61, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 61, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_v_ss); __pyx_t_2 = __pyx_v_ss; __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_x, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L22_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_y, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L22_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_z, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L22_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_r, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L22_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_phi, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) __pyx_t_5 = __pyx_t_8; __pyx_L22_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Non_valid_In); __PYX_ERR(0, 61, __pyx_L1_error) } } #endif
+0062: assert all([ss in ['x','y','z','r','phi'] for ss in Outs]), "Non-valid Out !"
__Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_v_Outs)) || PyTuple_CheckExact(__pyx_v_Outs)) { __pyx_t_1 = __pyx_v_Outs; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_Outs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 62, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 62, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_v_ss); __pyx_t_2 = __pyx_v_ss; __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_x, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L29_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_y, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L29_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_z, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L29_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_r, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) if (!__pyx_t_8) { } else { __pyx_t_5 = __pyx_t_8; goto __pyx_L29_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_phi, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) __pyx_t_5 = __pyx_t_8; __pyx_L29_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Non_valid_Out); __PYX_ERR(0, 62, __pyx_L1_error) } } #endif
+0063: InT = 'cyl' if any([ss in Ins for ss in ['r','phi']]) else 'cart'
__Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L1_error)) __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_any, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { __Pyx_INCREF(__pyx_n_s_cyl); __pyx_t_1 = __pyx_n_s_cyl; } else { __Pyx_INCREF(__pyx_n_s_cart); __pyx_t_1 = __pyx_n_s_cart; } __pyx_v_InT = __pyx_t_1; __pyx_t_1 = 0; /* … */ __pyx_tuple__8 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_phi); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
+0064: OutT = 'cyl' if any([ss in Outs for ss in ['r','phi']]) else 'cart'
__Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 64, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Outs, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 64, __pyx_L1_error) __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_any, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { __Pyx_INCREF(__pyx_n_s_cyl); __pyx_t_1 = __pyx_n_s_cyl; } else { __Pyx_INCREF(__pyx_n_s_cart); __pyx_t_1 = __pyx_n_s_cart; } __pyx_v_OutT = __pyx_t_1; __pyx_t_1 = 0; /* … */ __pyx_tuple__8 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_phi); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
0065:
+0066: ndim = Pts.ndim
__Pyx_TraceLine(66,0,__PYX_ERR(0, 66, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ndim = __pyx_t_1; __pyx_t_1 = 0;
+0067: if ndim==1:
__Pyx_TraceLine(67,0,__PYX_ERR(0, 67, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_ndim, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+0068: Pts = np.copy(Pts.reshape((Pts.shape[0],1)))
__Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_copy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_reshape); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_10, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_1); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, __pyx_t_1); __pyx_t_1 = 0;
0069:
0070: # Compute
+0071: if InT==OutT:
__Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) __pyx_t_1 = PyObject_RichCompare(__pyx_v_InT, __pyx_v_OutT, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L39; }
+0072: assert all([ss in Ins for ss in Outs])
__Pyx_TraceLine(72,0,__PYX_ERR(0, 72, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_Outs)) || PyTuple_CheckExact(__pyx_v_Outs)) { __pyx_t_2 = __pyx_v_Outs; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_Outs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 72, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 72, __pyx_L1_error) } } #endif
+0073: pts = []
__Pyx_TraceLine(73,0,__PYX_ERR(0, 73, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_pts = __pyx_t_2; __pyx_t_2 = 0;
+0074: for ii in Outs:
__Pyx_TraceLine(74,0,__PYX_ERR(0, 74, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_v_Outs)) || PyTuple_CheckExact(__pyx_v_Outs)) { __pyx_t_2 = __pyx_v_Outs; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_Outs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 74, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 74, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 74, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 74, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_1); __pyx_t_1 = 0; /* … */ __Pyx_TraceLine(74,0,__PYX_ERR(0, 74, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0075: if ii=='phi':
__Pyx_TraceLine(75,0,__PYX_ERR(0, 75, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_phi, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 75, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L44; }
+0076: pts.append(np.arctan2(np.sin(Pts[Ins.index(ii),:]),np.cos(Pts[Ins.index(ii),:])))
__Pyx_TraceLine(76,0,__PYX_ERR(0, 76, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arctan2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_sin); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_ii) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_ii); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_slice__9); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_cos); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_10 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_v_ii) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_ii); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_slice__9); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_3, __pyx_t_11}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_3, __pyx_t_11}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_15, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_15, __pyx_t_11); __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_1); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
0077: else:
+0078: pts.append(Pts[Ins.index(ii),:])
__Pyx_TraceLine(78,0,__PYX_ERR(0, 78, __pyx_L1_error)) /*else*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_v_ii) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_ii); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_slice__9); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_1); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L44:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0079: elif InT=='cart':
__Pyx_TraceLine(79,0,__PYX_ERR(0, 79, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_InT, __pyx_n_s_cart, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 79, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L39; }
+0080: pts = []
__Pyx_TraceLine(80,0,__PYX_ERR(0, 80, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_pts = __pyx_t_2; __pyx_t_2 = 0;
+0081: for ii in Outs:
__Pyx_TraceLine(81,0,__PYX_ERR(0, 81, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_v_Outs)) || PyTuple_CheckExact(__pyx_v_Outs)) { __pyx_t_2 = __pyx_v_Outs; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_Outs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 81, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 81, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 81, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_1); __pyx_t_1 = 0; /* … */ __Pyx_TraceLine(81,0,__PYX_ERR(0, 81, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0082: if ii=='r':
__Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_r, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 82, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L47; }
+0083: assert all([ss in Ins for ss in ['x','y']])
__Pyx_TraceLine(83,0,__PYX_ERR(0, 83, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __pyx_tuple__10; __Pyx_INCREF(__pyx_t_6); __pyx_t_17 = 0; for (;;) { if (__pyx_t_17 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_17); __Pyx_INCREF(__pyx_t_10); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 83, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_6, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 83, __pyx_L1_error) __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 83, __pyx_L1_error) } } #endif /* … */ __pyx_tuple__10 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_y); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10);
+0084: pts.append(np.hypot(Pts[Ins.index('x'),:],Pts[Ins.index('y'),:]))
__Pyx_TraceLine(84,0,__PYX_ERR(0, 84, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hypot); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_3, __pyx_n_s_x) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_n_s_x); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_slice__9); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_n_s_y) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s_y); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_slice__9); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_t_11}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_t_11}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif { __pyx_t_12 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_15, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_15, __pyx_t_11); __pyx_t_1 = 0; __pyx_t_11 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_6); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0085: elif ii=='z':
__Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_z, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 85, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L47; }
+0086: assert 'z' in Ins
__Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_z, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 86, __pyx_L1_error) if (unlikely(!(__pyx_t_5 != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 86, __pyx_L1_error) } } #endif
+0087: pts.append(Pts[Ins.index('z'),:])
__Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_n_s_z) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_n_s_z); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_slice__9); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_6); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0088: elif ii=='phi':
__Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_phi, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 88, __pyx_L1_error) if (__pyx_t_5) { /* … */ } __pyx_L47:;
+0089: if all([ss in Ins for ss in ['x','y']]):
__Pyx_TraceLine(89,0,__PYX_ERR(0, 89, __pyx_L1_error)) __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __pyx_tuple__10; __Pyx_INCREF(__pyx_t_10); __pyx_t_17 = 0; for (;;) { if (__pyx_t_17 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_12); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 89, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 89, __pyx_L1_error) __pyx_t_12 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ __pyx_tuple__10 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_y); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* … */ goto __pyx_L50; }
+0090: pts.append(np.arctan2(Pts[Ins.index('y'),:],Pts[Ins.index('x'),:]))
__Pyx_TraceLine(90,0,__PYX_ERR(0, 90, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_arctan2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_1, __pyx_n_s_y) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_n_s_y); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_slice__9); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_11 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_n_s_x) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_n_s_x); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_slice__9); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_6, __pyx_t_11}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_6, __pyx_t_11}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_15, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_15, __pyx_t_11); __pyx_t_6 = 0; __pyx_t_11 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_10); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0091: elif CrossRef is not None:
__Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L1_error)) __pyx_t_5 = (__pyx_v_CrossRef != Py_None); __pyx_t_8 = (__pyx_t_5 != 0); if (likely(__pyx_t_8)) { /* … */ goto __pyx_L50; }
+0092: pts.append( CrossRef*np.ones((Pts.shape[1],)) )
__Pyx_TraceLine(92,0,__PYX_ERR(0, 92, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_12, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_10 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_12); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_v_CrossRef, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_3); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0093: else:
+0094: raise Exception("There is no phi value available !")
__Pyx_TraceLine(94,0,__PYX_ERR(0, 94, __pyx_L1_error)) /*else*/ { __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 94, __pyx_L1_error) } __pyx_L50:; /* … */ __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_There_is_no_phi_value_available); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11);
0095: else:
+0096: pts = []
__Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L1_error)) /*else*/ { __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_pts = __pyx_t_2; __pyx_t_2 = 0;
+0097: for ii in Outs:
__Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_v_Outs)) || PyTuple_CheckExact(__pyx_v_Outs)) { __pyx_t_2 = __pyx_v_Outs; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_Outs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 97, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 97, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_3); __pyx_t_3 = 0; /* … */ __Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L39:;
+0098: if ii=='x':
__Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L1_error)) __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_x, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 98, __pyx_L1_error) if (__pyx_t_8) { /* … */ goto __pyx_L55; }
+0099: if all([ss in Ins for ss in ['r','phi']]):
__Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L1_error)) __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_10); __pyx_t_17 = 0; for (;;) { if (__pyx_t_17 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_12); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 99, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 99, __pyx_L1_error) __pyx_t_12 = __Pyx_PyBool_FromLong(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_8) { /* … */ __pyx_tuple__8 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_phi); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* … */ goto __pyx_L56; }
+0100: pts.append(Pts[Ins.index('r'),:]*np.cos(Pts[Ins.index('phi'),:]))
__Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_n_s_r) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s_r); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_slice__9); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_cos); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_12 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_n_s_phi) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s_phi); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_12); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_slice__9); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_6, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Multiply(__pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_11); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0101: elif CrossRef is not None:
__Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L1_error)) __pyx_t_8 = (__pyx_v_CrossRef != Py_None); __pyx_t_5 = (__pyx_t_8 != 0); if (likely(__pyx_t_5)) { /* … */ goto __pyx_L56; }
+0102: pts.append( CrossRef*np.ones((Pts.shape[1],)) )
__Pyx_TraceLine(102,0,__PYX_ERR(0, 102, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_v_CrossRef, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_10); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
0103: else:
+0104: raise Exception("There is no x value available !")
__Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error)) /*else*/ { __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_Raise(__pyx_t_10, 0, 0, 0); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __PYX_ERR(0, 104, __pyx_L1_error) } __pyx_L56:; /* … */ __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_There_is_no_x_value_available); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12);
+0105: elif ii=='y':
__Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_y, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 105, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L55; }
+0106: assert all([ss in Ins for ss in ['r','phi']])
__Pyx_TraceLine(106,0,__PYX_ERR(0, 106, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_11); __pyx_t_17 = 0; for (;;) { if (__pyx_t_17 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_17); __Pyx_INCREF(__pyx_t_3); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 106, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_11, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_ss, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ss, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error) __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 106, __pyx_L1_error) } } #endif /* … */ __pyx_tuple__8 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_phi); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
+0107: pts.append(Pts[Ins.index('r'),:]*np.sin(Pts[Ins.index('phi'),:]))
__Pyx_TraceLine(107,0,__PYX_ERR(0, 107, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_11 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_3, __pyx_n_s_r) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_n_s_r); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_slice__9); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sin); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_n_s_phi) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s_phi); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_slice__9); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_12); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0108: elif ii=='z':
__Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_ii, __pyx_n_s_z, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 108, __pyx_L1_error) if (__pyx_t_5) { /* … */ } __pyx_L55:;
+0109: assert 'z' in Ins
__Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_z, __pyx_v_Ins, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 109, __pyx_L1_error) if (unlikely(!(__pyx_t_5 != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 109, __pyx_L1_error) } } #endif
+0110: pts.append(Pts[Ins.index('z'),:])
__Pyx_TraceLine(110,0,__PYX_ERR(0, 110, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ins, __pyx_n_s_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_n_s_z) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_n_s_z); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_slice__9); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_Pts, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_Append(__pyx_v_pts, __pyx_t_12); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
0111:
0112: # Format output
+0113: pts = np.vstack(pts)
__Pyx_TraceLine(113,0,__PYX_ERR(0, 113, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_vstack); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_2 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_pts) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_pts); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_pts, __pyx_t_2); __pyx_t_2 = 0;
+0114: if ndim==1:
__Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_ndim, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { /* … */ }
+0115: pts = pts.flatten()
__Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_pts, __pyx_n_s_flatten); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_2 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_pts, __pyx_t_2); __pyx_t_2 = 0;
+0116: return pts
__Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_pts); __pyx_r = __pyx_v_pts; goto __pyx_L0;
0117:
0118:
0119:
0120:
0121:
0122:
0123:
0124: """
0125: ########################################################
0126: ########################################################
0127: ########################################################
0128: # General Geometry
0129: ########################################################
0130: ########################################################
0131: ########################################################
0132: """
0133:
0134: ########################################################
0135: ########################################################
0136: # Polygons
0137: ########################################################
0138:
0139:
0140: @cython.cdivision(True)
0141: @cython.wraparound(False)
0142: @cython.boundscheck(False)
+0143: def Poly_isClockwise(cnp.ndarray[double,ndim=2] Poly):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_3Poly_isClockwise(PyObject *__pyx_self, PyObject *__pyx_v_Poly); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_2Poly_isClockwise[] = " Assuming 2D closed Poly ! ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_3Poly_isClockwise = {"Poly_isClockwise", (PyCFunction)__pyx_pw_4tofu_4geom_5_GG03_3Poly_isClockwise, METH_O, __pyx_doc_4tofu_4geom_5_GG03_2Poly_isClockwise};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_3Poly_isClockwise(PyObject *__pyx_self, PyObject *__pyx_v_Poly) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_isClockwise (wrapper)", 0);
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Poly), __pyx_ptype_5numpy_ndarray, 1, "Poly", 0))) __PYX_ERR(0, 143, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_2Poly_isClockwise(__pyx_self, ((PyArrayObject *)__pyx_v_Poly));
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_2Poly_isClockwise(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_Poly) {
int __pyx_v_ii;
int __pyx_v_NP;
double __pyx_v_Sum;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Poly;
__Pyx_Buffer __pyx_pybuffer_Poly;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__13)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_isClockwise", 0);
__Pyx_TraceCall("Poly_isClockwise", __pyx_f[0], 143, 0, __PYX_ERR(0, 143, __pyx_L1_error));
__pyx_pybuffer_Poly.pybuffer.buf = NULL;
__pyx_pybuffer_Poly.refcount = 0;
__pyx_pybuffernd_Poly.data = NULL;
__pyx_pybuffernd_Poly.rcbuffer = &__pyx_pybuffer_Poly;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_Poly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 143, __pyx_L1_error)
}
__pyx_pybuffernd_Poly.diminfo[0].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Poly.diminfo[0].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Poly.diminfo[1].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Poly.diminfo[1].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_12);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Poly_isClockwise", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__112 = PyTuple_Pack(4, __pyx_n_s_Poly, __pyx_n_s_ii, __pyx_n_s_NP, __pyx_n_s_Sum); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__112);
__Pyx_GIVEREF(__pyx_tuple__112);
/* … */
__Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_3Poly_isClockwise, 0, __pyx_n_s_Poly_isClockwise, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Poly_isClockwise, __pyx_t_1) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Poly_isClockwise, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 143, __pyx_L1_error)
0144: """ Assuming 2D closed Poly ! """
+0145: cdef int ii, NP=Poly.shape[1]
__Pyx_TraceLine(145,0,__PYX_ERR(0, 145, __pyx_L1_error)) __pyx_v_NP = (__pyx_v_Poly->dimensions[1]);
+0146: cdef double Sum=0.
__Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) __pyx_v_Sum = 0.;
+0147: for ii in range(0,NP-1):
__Pyx_TraceLine(147,0,__PYX_ERR(0, 147, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_NP - 1); __pyx_t_2 = __pyx_t_1; for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { __pyx_v_ii = __pyx_t_3;
+0148: Sum += Poly[0,ii]*Poly[1,ii+1]-Poly[0,ii+1]*Poly[1,ii]
__Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error)) __pyx_t_4 = 0; __pyx_t_5 = __pyx_v_ii; __pyx_t_6 = 1; __pyx_t_7 = (__pyx_v_ii + 1); __pyx_t_8 = 0; __pyx_t_9 = (__pyx_v_ii + 1); __pyx_t_10 = 1; __pyx_t_11 = __pyx_v_ii; __pyx_v_Sum = (__pyx_v_Sum + (((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Poly.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_Poly.diminfo[0].strides, __pyx_t_5, __pyx_pybuffernd_Poly.diminfo[1].strides)) * (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Poly.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_Poly.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_Poly.diminfo[1].strides))) - ((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Poly.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_Poly.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_Poly.diminfo[1].strides)) * (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Poly.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_Poly.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_Poly.diminfo[1].strides))))); }
+0149: return Sum < 0.
__Pyx_TraceLine(149,0,__PYX_ERR(0, 149, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_12 = __Pyx_PyBool_FromLong((__pyx_v_Sum < 0.)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_r = __pyx_t_12; __pyx_t_12 = 0; goto __pyx_L0;
0150:
0151:
+0152: def Poly_Order(cnp.ndarray[double,ndim=2] Poly, str order='C', Clock=False, close=True, str layout='(cc,N)', str layout_in=None, Test=True):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_5Poly_Order(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_4Poly_Order[] = "\n Return a polygon Poly as a np.ndarray formatted according to parameters\n\n Parameters\n ----------\n Poly np.ndarray or list or tuple Input polygon under from of (cc,N) or (N,cc) np.ndarray (where cc = 2 or 3, the number of coordinates and N points), or list or tuple of vertices\n order str Flag indicating whether the output np.ndarray shall be C-contiguous ('C') or Fortran-contiguous ('F')\n Clock bool For 2-dimensional arrays only, flag indicating whether the output array shall represent a clockwise polygon (True) or anti-clockwise (False), or should be left unchanged (None)\n close bool For 2-dimensional arrays only, flag indicating whether the output array shall be closed (True, i.e.: last point==first point), or not closed (False)\n layout str Flag indicating whether the output np.ndarray shall be of shape '(cc,N)' or '(N,cc)'\n Test bool Flag indicating whether the inputs should be tested for conformity, default: True\n\n Returns\n -------\n poly np.ndarray Output formatted polygon\n\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_5Poly_Order = {"Poly_Order", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_5Poly_Order, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_4Poly_Order};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_5Poly_Order(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyArrayObject *__pyx_v_Poly = 0;
PyObject *__pyx_v_order = 0;
PyObject *__pyx_v_Clock = 0;
PyObject *__pyx_v_close = 0;
PyObject *__pyx_v_layout = 0;
PyObject *__pyx_v_layout_in = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_Order (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Poly,&__pyx_n_s_order,&__pyx_n_s_Clock,&__pyx_n_s_close,&__pyx_n_s_layout,&__pyx_n_s_layout_in,&__pyx_n_s_Test,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[1] = ((PyObject*)((PyObject*)__pyx_n_s_C));
values[2] = ((PyObject *)((PyObject *)Py_False));
values[3] = ((PyObject *)((PyObject *)Py_True));
values[4] = ((PyObject*)((PyObject*)__pyx_kp_s_cc_N));
values[5] = ((PyObject*)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Poly)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_order);
if (value) { values[1] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Clock);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_close);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_layout);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_layout_in);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[6] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Poly_Order") < 0)) __PYX_ERR(0, 152, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_Poly = ((PyArrayObject *)values[0]);
__pyx_v_order = ((PyObject*)values[1]);
__pyx_v_Clock = values[2];
__pyx_v_close = values[3];
__pyx_v_layout = ((PyObject*)values[4]);
__pyx_v_layout_in = ((PyObject*)values[5]);
__pyx_v_Test = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("Poly_Order", 0, 1, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 152, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.Poly_Order", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Poly), __pyx_ptype_5numpy_ndarray, 1, "Poly", 0))) __PYX_ERR(0, 152, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_order), (&PyString_Type), 1, "order", 1))) __PYX_ERR(0, 152, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_layout), (&PyString_Type), 1, "layout", 1))) __PYX_ERR(0, 152, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_layout_in), (&PyString_Type), 1, "layout_in", 1))) __PYX_ERR(0, 152, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_4Poly_Order(__pyx_self, __pyx_v_Poly, __pyx_v_order, __pyx_v_Clock, __pyx_v_close, __pyx_v_layout, __pyx_v_layout_in, __pyx_v_Test);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_4Poly_Order(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_Poly, PyObject *__pyx_v_order, PyObject *__pyx_v_Clock, PyObject *__pyx_v_close, PyObject *__pyx_v_layout, PyObject *__pyx_v_layout_in, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_poly = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Poly;
__Pyx_Buffer __pyx_pybuffer_Poly;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__14)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_Order", 0);
__Pyx_TraceCall("Poly_Order", __pyx_f[0], 152, 0, __PYX_ERR(0, 152, __pyx_L1_error));
__pyx_pybuffer_Poly.pybuffer.buf = NULL;
__pyx_pybuffer_Poly.refcount = 0;
__pyx_pybuffernd_Poly.data = NULL;
__pyx_pybuffernd_Poly.rcbuffer = &__pyx_pybuffer_Poly;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_Poly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 152, __pyx_L1_error)
}
__pyx_pybuffernd_Poly.diminfo[0].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Poly.diminfo[0].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Poly.diminfo[1].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Poly.diminfo[1].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Poly_Order", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_poly);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__113 = PyTuple_Pack(8, __pyx_n_s_Poly, __pyx_n_s_order, __pyx_n_s_Clock, __pyx_n_s_close, __pyx_n_s_layout, __pyx_n_s_layout_in, __pyx_n_s_Test, __pyx_n_s_poly); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 152, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__113);
__Pyx_GIVEREF(__pyx_tuple__113);
__pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(7, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Poly_Order, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 152, __pyx_L1_error)
/* … */
__Pyx_TraceLine(152,0,__PYX_ERR(0, 152, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_5Poly_Order, 0, __pyx_n_s_Poly_Order, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__114);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Poly_Order, __pyx_t_1) < 0) __PYX_ERR(0, 152, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_tuple__114 = PyTuple_Pack(6, ((PyObject*)__pyx_n_s_C), ((PyObject *)Py_False), ((PyObject *)Py_True), ((PyObject*)__pyx_kp_s_cc_N), ((PyObject *)Py_None), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 152, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__114);
__Pyx_GIVEREF(__pyx_tuple__114);
0153: """
0154: Return a polygon Poly as a np.ndarray formatted according to parameters
0155:
0156: Parameters
0157: ----------
0158: Poly np.ndarray or list or tuple Input polygon under from of (cc,N) or (N,cc) np.ndarray (where cc = 2 or 3, the number of coordinates and N points), or list or tuple of vertices
0159: order str Flag indicating whether the output np.ndarray shall be C-contiguous ('C') or Fortran-contiguous ('F')
0160: Clock bool For 2-dimensional arrays only, flag indicating whether the output array shall represent a clockwise polygon (True) or anti-clockwise (False), or should be left unchanged (None)
0161: close bool For 2-dimensional arrays only, flag indicating whether the output array shall be closed (True, i.e.: last point==first point), or not closed (False)
0162: layout str Flag indicating whether the output np.ndarray shall be of shape '(cc,N)' or '(N,cc)'
0163: Test bool Flag indicating whether the inputs should be tested for conformity, default: True
0164:
0165: Returns
0166: -------
0167: poly np.ndarray Output formatted polygon
0168:
0169: """
+0170: if Test:
__Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 170, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+0171: assert (2 in np.shape(Poly) or 3 in np.shape(Poly)) and max(np.shape(Poly))>=3, "Arg Poly must contain the 2D or 3D coordinates of at least 3 points (polygon) !"
__Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_int_2, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = (__pyx_t_5 != 0); if (!__pyx_t_6) { } else { goto __pyx_L5_next_and; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_int_3, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (__pyx_t_6 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_int_3, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_5; __pyx_L4_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Poly_must_contain_the_2D_or); __PYX_ERR(0, 171, __pyx_L1_error) } } #endif
+0172: assert order.lower() in ['c','f'], "Arg order must be in ['c','f'] !"
__Pyx_TraceLine(172,0,__PYX_ERR(0, 172, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_c, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 172, __pyx_L1_error) if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L7_bool_binop_done; } __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_f, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 172, __pyx_L1_error) __pyx_t_1 = __pyx_t_5; __pyx_L7_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_order_must_be_in_c_f); __PYX_ERR(0, 172, __pyx_L1_error) } } #endif
+0173: assert type(Clock) is bool, "Arg Clock must be a bool !"
__Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_Clock)) == ((PyObject *)__pyx_ptype_7cpython_4bool_bool)); if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Clock_must_be_a_bool); __PYX_ERR(0, 173, __pyx_L1_error) } } #endif
+0174: assert type(close) is bool, "Arg close must be a bool !"
__Pyx_TraceLine(174,0,__PYX_ERR(0, 174, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_close)) == ((PyObject *)__pyx_ptype_7cpython_4bool_bool)); if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_close_must_be_a_bool); __PYX_ERR(0, 174, __pyx_L1_error) } } #endif
+0175: assert layout.lower() in ['(cc,n)','(n,cc)'], "Arg layout must be in ['(cc,n)','(n,cc)'] !"
__Pyx_TraceLine(175,0,__PYX_ERR(0, 175, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_layout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_cc_n, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 175, __pyx_L1_error) if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L9_bool_binop_done; } __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_n_cc, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 175, __pyx_L1_error) __pyx_t_1 = __pyx_t_5; __pyx_L9_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_layout_must_be_in_cc_n_n_cc); __PYX_ERR(0, 175, __pyx_L1_error) } } #endif
+0176: assert layout_in is None or layout_in.lower() in ['(cc,n)','(n,cc)'], "Arg layout_in must be in ['(cc,n)','(n,cc)'] !"
__Pyx_TraceLine(176,0,__PYX_ERR(0, 176, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (__pyx_v_layout_in == ((PyObject*)Py_None)); __pyx_t_6 = (__pyx_t_5 != 0); if (!__pyx_t_6) { } else { __pyx_t_1 = __pyx_t_6; goto __pyx_L11_bool_binop_done; } __pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_layout_in); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_cc_n, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) if (!__pyx_t_5) { } else { __pyx_t_6 = __pyx_t_5; goto __pyx_L13_bool_binop_done; } __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_n_cc, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) __pyx_t_6 = __pyx_t_5; __pyx_L13_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (__pyx_t_6 != 0); __pyx_t_1 = __pyx_t_5; __pyx_L11_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_layout_in_must_be_in_cc_n_n); __PYX_ERR(0, 176, __pyx_L1_error) } } #endif
0177:
+0178: if np.shape(Poly)==(3,3):
__Pyx_TraceLine(178,0,__PYX_ERR(0, 178, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_tuple__15, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L15; } /* … */ __pyx_tuple__15 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_3); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15);
+0179: assert not layout_in is None, "Could not resolve the input layout of Poly because shape==(3,3), specify !"
__Pyx_TraceLine(179,0,__PYX_ERR(0, 179, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (__pyx_v_layout_in != ((PyObject*)Py_None)); if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Could_not_resolve_the_input_layo); __PYX_ERR(0, 179, __pyx_L1_error) } } #endif
+0180: poly = np.array(Poly).T if layout_in.lower()=='(n,cc)' else np.array(Poly)
__Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error)) __pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_layout_in); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_n_cc, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_7, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_T); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_7 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __pyx_t_7; __pyx_t_7 = 0; } __pyx_v_poly = __pyx_t_3; __pyx_t_3 = 0;
0181: else:
+0182: poly = np.array(Poly).T if min(np.shape(Poly))==Poly.shape[1] else np.array(Poly)
__Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_Poly->dimensions[1])); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_T); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, ((PyObject *)__pyx_v_Poly)) : __Pyx_PyObject_CallOneArg(__pyx_t_7, ((PyObject *)__pyx_v_Poly)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_v_poly = __pyx_t_3; __pyx_t_3 = 0; } __pyx_L15:;
+0183: if not np.allclose(poly[:,0],poly[:,-1], atol=1.e-9):
__Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_allclose); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_poly, __pyx_tuple__16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_tuple__16 = PyTuple_Pack(2, __pyx_slice__9, __pyx_int_0); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_poly, __pyx_tuple__17); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_atol, __pyx_float_1_eneg_9) < 0) __PYX_ERR(0, 183, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = ((!__pyx_t_1) != 0); if (__pyx_t_5) { __pyx_tuple__17 = PyTuple_Pack(2, __pyx_slice__9, __pyx_int_neg_1); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); /* … */ }
+0184: poly = np.concatenate((poly,poly[:,0:1]),axis=1)
__Pyx_TraceLine(184,0,__PYX_ERR(0, 184, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_slice__18 = PySlice_New(__pyx_int_0, __pyx_int_1, Py_None); if (unlikely(!__pyx_slice__18)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__18); __Pyx_GIVEREF(__pyx_slice__18); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_poly, __pyx_tuple__19); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_poly); __Pyx_GIVEREF(__pyx_v_poly); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_poly); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_poly, __pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__19 = PyTuple_Pack(2, __pyx_slice__9, __pyx_slice__18); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19);
+0185: if poly.shape[0]==2 and not Clock is None:
__Pyx_TraceLine(185,0,__PYX_ERR(0, 185, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_poly, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { } else { __pyx_t_5 = __pyx_t_1; goto __pyx_L18_bool_binop_done; } __pyx_t_1 = (__pyx_v_Clock != Py_None); __pyx_t_6 = (__pyx_t_1 != 0); __pyx_t_5 = __pyx_t_6; __pyx_L18_bool_binop_done:; if (__pyx_t_5) { /* … */ }
+0186: if not Clock==Poly_isClockwise(poly):
__Pyx_TraceLine(186,0,__PYX_ERR(0, 186, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Poly_isClockwise); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_poly) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_poly); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_v_Clock, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = ((!__pyx_t_5) != 0); if (__pyx_t_6) { /* … */ }
+0187: poly = poly[:,::-1]
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_slice__20 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__20)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__20); __Pyx_GIVEREF(__pyx_slice__20); /* … */ __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_poly, __pyx_tuple__21); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_poly, __pyx_t_4); __pyx_t_4 = 0; __pyx_tuple__21 = PyTuple_Pack(2, __pyx_slice__9, __pyx_slice__20); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21);
+0188: if not close:
__Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_close); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 188, __pyx_L1_error) __pyx_t_5 = ((!__pyx_t_6) != 0); if (__pyx_t_5) { /* … */ }
+0189: poly = poly[:,:-1]
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_slice__22 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__22)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__22); __Pyx_GIVEREF(__pyx_slice__22); /* … */ __Pyx_TraceLine(189,0,__PYX_ERR(0, 189, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_poly, __pyx_tuple__23); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_poly, __pyx_t_4); __pyx_t_4 = 0; __pyx_tuple__23 = PyTuple_Pack(2, __pyx_slice__9, __pyx_slice__22); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23);
+0190: if layout.lower()=='(n,cc)':
__Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error)) __pyx_t_4 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_layout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_kp_s_n_cc, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ }
+0191: poly = poly.T
__Pyx_TraceLine(191,0,__PYX_ERR(0, 191, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_poly, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_poly, __pyx_t_4); __pyx_t_4 = 0;
+0192: poly = np.ascontiguousarray(poly) if order.lower()=='c' else np.asfortranarray(poly)
__Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error)) __pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_c, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_v_poly) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_poly); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_4 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_asfortranarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_v_poly) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_poly); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_2; __pyx_t_2 = 0; } __Pyx_DECREF_SET(__pyx_v_poly, __pyx_t_4); __pyx_t_4 = 0;
+0193: return poly
__Pyx_TraceLine(193,0,__PYX_ERR(0, 193, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_poly); __pyx_r = __pyx_v_poly; goto __pyx_L0;
0194:
0195:
0196:
0197:
+0198: def Poly_VolAngTor(cnp.ndarray[double,ndim=2,mode='c'] Poly):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_7Poly_VolAngTor(PyObject *__pyx_self, PyObject *__pyx_v_Poly); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_7Poly_VolAngTor = {"Poly_VolAngTor", (PyCFunction)__pyx_pw_4tofu_4geom_5_GG03_7Poly_VolAngTor, METH_O, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_7Poly_VolAngTor(PyObject *__pyx_self, PyObject *__pyx_v_Poly) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_VolAngTor (wrapper)", 0);
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Poly), __pyx_ptype_5numpy_ndarray, 1, "Poly", 0))) __PYX_ERR(0, 198, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_6Poly_VolAngTor(__pyx_self, ((PyArrayObject *)__pyx_v_Poly));
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_6Poly_VolAngTor(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_Poly) {
PyArrayObject *__pyx_v_Ri0 = 0;
PyArrayObject *__pyx_v_Ri1 = 0;
PyArrayObject *__pyx_v_Zi0 = 0;
PyArrayObject *__pyx_v_Zi1 = 0;
double __pyx_v_V;
double __pyx_v_BV0;
double __pyx_v_BV1;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Poly;
__Pyx_Buffer __pyx_pybuffer_Poly;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Ri0;
__Pyx_Buffer __pyx_pybuffer_Ri0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Ri1;
__Pyx_Buffer __pyx_pybuffer_Ri1;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Zi0;
__Pyx_Buffer __pyx_pybuffer_Zi0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Zi1;
__Pyx_Buffer __pyx_pybuffer_Zi1;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__24)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Poly_VolAngTor", 0);
__Pyx_TraceCall("Poly_VolAngTor", __pyx_f[0], 198, 0, __PYX_ERR(0, 198, __pyx_L1_error));
__pyx_pybuffer_Ri0.pybuffer.buf = NULL;
__pyx_pybuffer_Ri0.refcount = 0;
__pyx_pybuffernd_Ri0.data = NULL;
__pyx_pybuffernd_Ri0.rcbuffer = &__pyx_pybuffer_Ri0;
__pyx_pybuffer_Ri1.pybuffer.buf = NULL;
__pyx_pybuffer_Ri1.refcount = 0;
__pyx_pybuffernd_Ri1.data = NULL;
__pyx_pybuffernd_Ri1.rcbuffer = &__pyx_pybuffer_Ri1;
__pyx_pybuffer_Zi0.pybuffer.buf = NULL;
__pyx_pybuffer_Zi0.refcount = 0;
__pyx_pybuffernd_Zi0.data = NULL;
__pyx_pybuffernd_Zi0.rcbuffer = &__pyx_pybuffer_Zi0;
__pyx_pybuffer_Zi1.pybuffer.buf = NULL;
__pyx_pybuffer_Zi1.refcount = 0;
__pyx_pybuffernd_Zi1.data = NULL;
__pyx_pybuffernd_Zi1.rcbuffer = &__pyx_pybuffer_Zi1;
__pyx_pybuffer_Poly.pybuffer.buf = NULL;
__pyx_pybuffer_Poly.refcount = 0;
__pyx_pybuffernd_Poly.data = NULL;
__pyx_pybuffernd_Poly.rcbuffer = &__pyx_pybuffer_Poly;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_Poly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 198, __pyx_L1_error)
}
__pyx_pybuffernd_Poly.diminfo[0].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Poly.diminfo[0].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Poly.diminfo[1].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Poly.diminfo[1].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ri0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ri1.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Zi0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Zi1.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Poly_VolAngTor", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ri0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ri1.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Zi0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Zi1.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF((PyObject *)__pyx_v_Ri0);
__Pyx_XDECREF((PyObject *)__pyx_v_Ri1);
__Pyx_XDECREF((PyObject *)__pyx_v_Zi0);
__Pyx_XDECREF((PyObject *)__pyx_v_Zi1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__115 = PyTuple_Pack(8, __pyx_n_s_Poly, __pyx_n_s_Ri0, __pyx_n_s_Ri1, __pyx_n_s_Zi0, __pyx_n_s_Zi1, __pyx_n_s_V, __pyx_n_s_BV0, __pyx_n_s_BV1); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__115);
__Pyx_GIVEREF(__pyx_tuple__115);
/* … */
__Pyx_TraceLine(198,0,__PYX_ERR(0, 198, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_7Poly_VolAngTor, 0, __pyx_n_s_Poly_VolAngTor, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Poly_VolAngTor, __pyx_t_1) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Poly_VolAngTor, 198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 198, __pyx_L1_error)
+0199: cdef cnp.ndarray[double,ndim=1] Ri0=Poly[0,:-1], Ri1=Poly[0,1:], Zi0=Poly[1,:-1], Zi1=Poly[1,1:]
__pyx_slice__22 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__22)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__22); __Pyx_GIVEREF(__pyx_slice__22); /* … */ __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Poly), __pyx_tuple__25); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Ri0.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_Ri0 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Ri0.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 199, __pyx_L1_error) } else {__pyx_pybuffernd_Ri0.diminfo[0].strides = __pyx_pybuffernd_Ri0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Ri0.diminfo[0].shape = __pyx_pybuffernd_Ri0.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_Ri0 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__25 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__22); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Poly), __pyx_tuple__27); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Ri1.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_Ri1 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Ri1.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 199, __pyx_L1_error) } else {__pyx_pybuffernd_Ri1.diminfo[0].strides = __pyx_pybuffernd_Ri1.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Ri1.diminfo[0].shape = __pyx_pybuffernd_Ri1.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_Ri1 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__27 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__26); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); __pyx_slice__22 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__22)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__22); __Pyx_GIVEREF(__pyx_slice__22); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Poly), __pyx_tuple__28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Zi0.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_Zi0 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Zi0.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 199, __pyx_L1_error) } else {__pyx_pybuffernd_Zi0.diminfo[0].strides = __pyx_pybuffernd_Zi0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Zi0.diminfo[0].shape = __pyx_pybuffernd_Zi0.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_Zi0 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__28 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__22); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Poly), __pyx_tuple__29); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Zi1.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_Zi1 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Zi1.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 199, __pyx_L1_error) } else {__pyx_pybuffernd_Zi1.diminfo[0].strides = __pyx_pybuffernd_Zi1.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Zi1.diminfo[0].shape = __pyx_pybuffernd_Zi1.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_Zi1 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__29 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__26); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29);
+0200: cdef double V = np.sum((Ri0*Zi1 - Zi0*Ri1)*(Ri0+Ri1))/6.
__Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(((PyObject *)__pyx_v_Ri0), ((PyObject *)__pyx_v_Zi1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Multiply(((PyObject *)__pyx_v_Zi0), ((PyObject *)__pyx_v_Ri1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(((PyObject *)__pyx_v_Ri0), ((PyObject *)__pyx_v_Ri1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyFloat_DivideObjC(__pyx_t_1, __pyx_float_6_, 6., 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_V = __pyx_t_7;
+0201: cdef double BV0 = np.sum((Ri0*Zi1 - Zi0*Ri1) * 0.5 * (Ri1**2 + Ri1*Ri0 + Ri0**2)) / (6.*V)
__Pyx_TraceLine(201,0,__PYX_ERR(0, 201, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_Ri0), ((PyObject *)__pyx_v_Zi1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyNumber_Multiply(((PyObject *)__pyx_v_Zi0), ((PyObject *)__pyx_v_Ri1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_6, __pyx_float_0_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Power(((PyObject *)__pyx_v_Ri1), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_Ri1), ((PyObject *)__pyx_v_Ri0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_Add(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Power(((PyObject *)__pyx_v_Ri0), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble((6. * __pyx_v_V)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_BV0 = __pyx_t_7;
+0202: cdef double BV1 = -np.sum((Ri1**2*Zi0*(2.*Zi1+Zi0) + 2.*Ri0*Ri1*(Zi0**2-Zi1**2) - Ri0**2*Zi1*(Zi1+2.*Zi0))/4.)/(6.*V)
__Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(((PyObject *)__pyx_v_Ri1), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_Multiply(__pyx_t_3, ((PyObject *)__pyx_v_Zi0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_float_2_, ((PyObject *)__pyx_v_Zi1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Add(__pyx_t_3, ((PyObject *)__pyx_v_Zi0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_float_2_, ((PyObject *)__pyx_v_Ri0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Multiply(__pyx_t_5, ((PyObject *)__pyx_v_Ri1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Power(((PyObject *)__pyx_v_Zi0), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyNumber_Power(((PyObject *)__pyx_v_Zi1), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyNumber_Subtract(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Power(((PyObject *)__pyx_v_Ri0), __pyx_int_2, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyNumber_Multiply(__pyx_t_8, ((PyObject *)__pyx_v_Zi1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_float_2_, ((PyObject *)__pyx_v_Zi0)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyNumber_Add(((PyObject *)__pyx_v_Zi1), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyFloat_DivideObjC(__pyx_t_6, __pyx_float_4_, 4., 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Negative(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble((6. * __pyx_v_V)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 202, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_BV1 = __pyx_t_7;
+0203: return V, np.array([BV0,BV1])
__Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_V); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_BV0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_BV1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0;
0204:
0205:
0206:
0207:
0208:
0209:
0210: """
0211: ###############################################################################
0212: ###############################################################################
0213: Sinogram specific
0214: ###############################################################################
0215: """
0216:
0217:
+0218: def Sino_ImpactEnv(cnp.ndarray[double,ndim=1] RZ,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_9Sino_ImpactEnv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_8Sino_ImpactEnv[] = " Computes impact parameters of a Tor enveloppe (Tor is a closed 2D polygon)\n\n D. VEZINET, Aug. 2014\n Parameters\n ----------\n RZ : np.ndarray\n (2,) array indicating the reference impact point\n Poly : np.ndarray\n (2,N) array containing the coordinatesof a closed polygon\n NP : int\n Number of indicating the number of points used for discretising theta between 0 and pi\n\n Returns\n -------\n theta\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_9Sino_ImpactEnv = {"Sino_ImpactEnv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_9Sino_ImpactEnv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_8Sino_ImpactEnv};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_9Sino_ImpactEnv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyArrayObject *__pyx_v_RZ = 0;
PyArrayObject *__pyx_v_Poly = 0;
int __pyx_v_NP;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Sino_ImpactEnv (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_RZ,&__pyx_n_s_Poly,&__pyx_n_s_NP,&__pyx_n_s_Test,0};
PyObject* values[4] = {0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_8Sino_ImpactEnv(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_RZ, PyArrayObject *__pyx_v_Poly, int __pyx_v_NP, PyObject *__pyx_v_Test) {
CYTHON_UNUSED int __pyx_v_NPoly;
PyObject *__pyx_v_theta = NULL;
PyObject *__pyx_v_vect = NULL;
PyObject *__pyx_v_sca = NULL;
PyObject *__pyx_v_scamin = NULL;
PyObject *__pyx_v_scamax = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Poly;
__Pyx_Buffer __pyx_pybuffer_Poly;
__Pyx_LocalBuf_ND __pyx_pybuffernd_RZ;
__Pyx_Buffer __pyx_pybuffer_RZ;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__30)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Sino_ImpactEnv", 0);
__Pyx_TraceCall("Sino_ImpactEnv", __pyx_f[0], 218, 0, __PYX_ERR(0, 218, __pyx_L1_error));
__pyx_pybuffer_RZ.pybuffer.buf = NULL;
__pyx_pybuffer_RZ.refcount = 0;
__pyx_pybuffernd_RZ.data = NULL;
__pyx_pybuffernd_RZ.rcbuffer = &__pyx_pybuffer_RZ;
__pyx_pybuffer_Poly.pybuffer.buf = NULL;
__pyx_pybuffer_Poly.refcount = 0;
__pyx_pybuffernd_Poly.data = NULL;
__pyx_pybuffernd_Poly.rcbuffer = &__pyx_pybuffer_Poly;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_RZ.rcbuffer->pybuffer, (PyObject*)__pyx_v_RZ, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 218, __pyx_L1_error)
}
__pyx_pybuffernd_RZ.diminfo[0].strides = __pyx_pybuffernd_RZ.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_RZ.diminfo[0].shape = __pyx_pybuffernd_RZ.rcbuffer->pybuffer.shape[0];
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_Poly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 218, __pyx_L1_error)
}
__pyx_pybuffernd_Poly.diminfo[0].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Poly.diminfo[0].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Poly.diminfo[1].strides = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Poly.diminfo[1].shape = __pyx_pybuffernd_Poly.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_RZ.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Sino_ImpactEnv", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Poly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_RZ.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_theta);
__Pyx_XDECREF(__pyx_v_vect);
__Pyx_XDECREF(__pyx_v_sca);
__Pyx_XDECREF(__pyx_v_scamin);
__Pyx_XDECREF(__pyx_v_scamax);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__116 = PyTuple_Pack(10, __pyx_n_s_RZ, __pyx_n_s_Poly, __pyx_n_s_NP, __pyx_n_s_Test, __pyx_n_s_NPoly, __pyx_n_s_theta, __pyx_n_s_vect, __pyx_n_s_sca, __pyx_n_s_scamin, __pyx_n_s_scamax); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__116);
__Pyx_GIVEREF(__pyx_tuple__116);
/* … */
__Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error))
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_True));
__Pyx_GIVEREF(((PyObject *)Py_True));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)Py_True));
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_9Sino_ImpactEnv, 0, __pyx_n_s_Sino_ImpactEnv, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Sino_ImpactEnv, __pyx_t_1) < 0) __PYX_ERR(0, 218, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Sino_ImpactEnv, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 218, __pyx_L1_error)
+0219: cnp.ndarray[double,ndim=2] Poly, int NP=50, Test=True):
values[3] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RZ)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Poly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("Sino_ImpactEnv", 0, 2, 4, 1); __PYX_ERR(0, 218, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_NP);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Sino_ImpactEnv") < 0)) __PYX_ERR(0, 218, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_RZ = ((PyArrayObject *)values[0]);
__pyx_v_Poly = ((PyArrayObject *)values[1]);
if (values[2]) {
__pyx_v_NP = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_NP == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 219, __pyx_L3_error)
} else {
__pyx_v_NP = ((int)((int)50));
}
__pyx_v_Test = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("Sino_ImpactEnv", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 218, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.Sino_ImpactEnv", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_RZ), __pyx_ptype_5numpy_ndarray, 1, "RZ", 0))) __PYX_ERR(0, 218, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Poly), __pyx_ptype_5numpy_ndarray, 1, "Poly", 0))) __PYX_ERR(0, 219, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_8Sino_ImpactEnv(__pyx_self, __pyx_v_RZ, __pyx_v_Poly, __pyx_v_NP, __pyx_v_Test);
/* … */
__Pyx_TraceLine(219,0,__PYX_ERR(0, 219, __pyx_L1_error))
__pyx_t_1 = __Pyx_PyInt_From_int(((int)50)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
0220: """ Computes impact parameters of a Tor enveloppe (Tor is a closed 2D polygon)
0221:
0222: D. VEZINET, Aug. 2014
0223: Parameters
0224: ----------
0225: RZ : np.ndarray
0226: (2,) array indicating the reference impact point
0227: Poly : np.ndarray
0228: (2,N) array containing the coordinatesof a closed polygon
0229: NP : int
0230: Number of indicating the number of points used for discretising theta between 0 and pi
0231:
0232: Returns
0233: -------
0234: theta
0235: """
+0236: if Test:
__Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 236, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+0237: assert RZ.size==2, 'Arg RZ should be a (2,) np.ndarray !'
__Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_RZ), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_RZ_should_be_a_2_np_ndarray); __PYX_ERR(0, 237, __pyx_L1_error) } } #endif
+0238: assert Poly.shape[0]==2, 'Arg Poly should be a (2,N) np.ndarray !'
__Pyx_TraceLine(238,0,__PYX_ERR(0, 238, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!(((__pyx_v_Poly->dimensions[0]) == 2) != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Poly_should_be_a_2_N_np_ndar); __PYX_ERR(0, 238, __pyx_L1_error) } } #endif
+0239: cdef int NPoly = Poly.shape[1]
__Pyx_TraceLine(239,0,__PYX_ERR(0, 239, __pyx_L1_error)) __pyx_v_NPoly = (__pyx_v_Poly->dimensions[1]);
0240: # Theta sampling and unit vector
+0241: theta = np.linspace(0.,np.pi,NP,endpoint=True)
__Pyx_TraceLine(241,0,__PYX_ERR(0, 241, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_linspace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_float_0_); __Pyx_GIVEREF(__pyx_float_0_); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_float_0_); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_endpoint, Py_True) < 0) __PYX_ERR(0, 241, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_theta = __pyx_t_4; __pyx_t_4 = 0;
+0242: vect = np.array([np.cos(theta), np.sin(theta)])
__Pyx_TraceLine(242,0,__PYX_ERR(0, 242, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_v_theta) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_theta); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sin); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_2, __pyx_v_theta) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_theta); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_vect = __pyx_t_4; __pyx_t_4 = 0;
0243:
0244: # Scalar product
+0245: sca = np.sum(vect[:,:,np.newaxis]*(Poly-RZ[:,np.newaxis])[:,np.newaxis,:],axis=0)
__Pyx_TraceLine(245,0,__PYX_ERR(0, 245, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sum); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_newaxis); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_vect, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_newaxis); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_RZ), __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(((PyObject *)__pyx_v_Poly), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_newaxis); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_slice__9); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 245, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_sca = __pyx_t_7; __pyx_t_7 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0246: scamin = np.min(sca,axis=1)
__Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_sca); __Pyx_GIVEREF(__pyx_v_sca); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_sca); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 246, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_scamin = __pyx_t_5; __pyx_t_5 = 0;
+0247: scamax = np.max(sca,axis=1)
__Pyx_TraceLine(247,0,__PYX_ERR(0, 247, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_sca); __Pyx_GIVEREF(__pyx_v_sca); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_sca); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 247, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_scamax = __pyx_t_6; __pyx_t_6 = 0;
+0248: return theta, np.array([scamax, scamin])
__Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_scamax); __Pyx_GIVEREF(__pyx_v_scamax); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_v_scamax); __Pyx_INCREF(__pyx_v_scamin); __Pyx_GIVEREF(__pyx_v_scamin); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_v_scamin); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_theta); __Pyx_GIVEREF(__pyx_v_theta); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_theta); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
0249:
0250:
0251: # For sinograms
+0252: def ConvertImpact_Theta2Xi(theta, pP, pN, sort=True):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_11ConvertImpact_Theta2Xi(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_11ConvertImpact_Theta2Xi = {"ConvertImpact_Theta2Xi", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_11ConvertImpact_Theta2Xi, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_11ConvertImpact_Theta2Xi(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_theta = 0;
PyObject *__pyx_v_pP = 0;
PyObject *__pyx_v_pN = 0;
PyObject *__pyx_v_sort = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ConvertImpact_Theta2Xi (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_theta,&__pyx_n_s_pP,&__pyx_n_s_pN,&__pyx_n_s_sort,0};
PyObject* values[4] = {0,0,0,0};
values[3] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_theta)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pP)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("ConvertImpact_Theta2Xi", 0, 3, 4, 1); __PYX_ERR(0, 252, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pN)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("ConvertImpact_Theta2Xi", 0, 3, 4, 2); __PYX_ERR(0, 252, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sort);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "ConvertImpact_Theta2Xi") < 0)) __PYX_ERR(0, 252, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_theta = values[0];
__pyx_v_pP = values[1];
__pyx_v_pN = values[2];
__pyx_v_sort = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ConvertImpact_Theta2Xi", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 252, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.ConvertImpact_Theta2Xi", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_10ConvertImpact_Theta2Xi(__pyx_self, __pyx_v_theta, __pyx_v_pP, __pyx_v_pN, __pyx_v_sort);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_10ConvertImpact_Theta2Xi(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_theta, PyObject *__pyx_v_pP, PyObject *__pyx_v_pN, PyObject *__pyx_v_sort) {
PyObject *__pyx_v_pPbis = NULL;
PyObject *__pyx_v_pNbis = NULL;
PyObject *__pyx_v_xi = NULL;
PyObject *__pyx_v_ind = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__31)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ConvertImpact_Theta2Xi", 0);
__Pyx_TraceCall("ConvertImpact_Theta2Xi", __pyx_f[0], 252, 0, __PYX_ERR(0, 252, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_theta);
__Pyx_INCREF(__pyx_v_pP);
__Pyx_INCREF(__pyx_v_pN);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("tofu.geom._GG03.ConvertImpact_Theta2Xi", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_pPbis);
__Pyx_XDECREF(__pyx_v_pNbis);
__Pyx_XDECREF(__pyx_v_xi);
__Pyx_XDECREF(__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_theta);
__Pyx_XDECREF(__pyx_v_pP);
__Pyx_XDECREF(__pyx_v_pN);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__117 = PyTuple_Pack(8, __pyx_n_s_theta, __pyx_n_s_pP, __pyx_n_s_pN, __pyx_n_s_sort, __pyx_n_s_pPbis, __pyx_n_s_pNbis, __pyx_n_s_xi, __pyx_n_s_ind); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__117);
__Pyx_GIVEREF(__pyx_tuple__117);
__pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_ConvertImpact_Theta2Xi, 252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 252, __pyx_L1_error)
/* … */
__Pyx_TraceLine(252,0,__PYX_ERR(0, 252, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_11ConvertImpact_Theta2Xi, 0, __pyx_n_s_ConvertImpact_Theta2Xi, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__118);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ConvertImpact_Theta2Xi, __pyx_t_1) < 0) __PYX_ERR(0, 252, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_tuple__118 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__118);
__Pyx_GIVEREF(__pyx_tuple__118);
+0253: if hasattr(theta,'__getitem__'):
__Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) __pyx_t_1 = __Pyx_HasAttr(__pyx_v_theta, __pyx_n_s_getitem); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 253, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+0254: pP, pN, theta = np.asarray(pP), np.asarray(pN), np.asarray(theta)
__Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_asarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_pP) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_pP); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_asarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_pN) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_pN); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_asarray); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_theta) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_theta); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_pP, __pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_pN, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_theta, __pyx_t_6); __pyx_t_6 = 0;
+0255: assert pP.shape==pN.shape==theta.shape, "Args pP, pN and theta must have same shape !"
__Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pP, __pyx_n_s_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pN, __pyx_n_s_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) if (__Pyx_PyObject_IsTrue(__pyx_t_3)) { __Pyx_DECREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_theta, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_pP_pN_and_theta_must_have_s); __PYX_ERR(0, 255, __pyx_L1_error) } } #endif
+0256: pPbis, pNbis = np.copy(pP), np.copy(pN)
__Pyx_TraceLine(256,0,__PYX_ERR(0, 256, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_pP) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_pP); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_copy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_v_pN) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_pN); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_pPbis = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_pNbis = __pyx_t_6; __pyx_t_6 = 0;
+0257: xi = theta - np.pi/2.
__Pyx_TraceLine(257,0,__PYX_ERR(0, 257, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_pi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyFloat_DivideObjC(__pyx_t_3, __pyx_float_2_, 2., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_v_theta, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_xi = __pyx_t_3; __pyx_t_3 = 0;
+0258: ind = xi < 0
__Pyx_TraceLine(258,0,__PYX_ERR(0, 258, __pyx_L1_error)) __pyx_t_3 = PyObject_RichCompare(__pyx_v_xi, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L1_error) __pyx_v_ind = __pyx_t_3; __pyx_t_3 = 0;
+0259: pPbis[ind], pNbis[ind], xi[ind] = -pN[ind], -pP[ind], xi[ind]+np.pi
__Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pN, __pyx_v_ind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_Negative(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pP, __pyx_v_ind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyNumber_Negative(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_xi, __pyx_v_ind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_v_pPbis, __pyx_v_ind, __pyx_t_6) < 0)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_v_pNbis, __pyx_v_ind, __pyx_t_7) < 0)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_v_xi, __pyx_v_ind, __pyx_t_5) < 0)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0260: if sort:
__Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_sort); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 260, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+0261: ind = np.argsort(xi)
__Pyx_TraceLine(261,0,__PYX_ERR(0, 261, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_argsort); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_xi) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_xi); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_ind, __pyx_t_5); __pyx_t_5 = 0;
+0262: xi, pP, pN = xi[ind], pPbis[ind], pNbis[ind]
__Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_xi, __pyx_v_ind); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_pPbis, __pyx_v_ind); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pNbis, __pyx_v_ind); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_xi, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_pP, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_pN, __pyx_t_7); __pyx_t_7 = 0;
+0263: return xi, pP, pN
__Pyx_TraceLine(263,0,__PYX_ERR(0, 263, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_xi); __Pyx_GIVEREF(__pyx_v_xi); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_xi); __Pyx_INCREF(__pyx_v_pP); __Pyx_GIVEREF(__pyx_v_pP); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pP); __Pyx_INCREF(__pyx_v_pN); __Pyx_GIVEREF(__pyx_v_pN); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_pN); __pyx_r = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L0;
0264: else:
+0265: assert not (hasattr(pP,'__getitem__') or hasattr(pN,'__getitem__')), "Args pP, pN and theta must have same shape !"
__Pyx_TraceLine(265,0,__PYX_ERR(0, 265, __pyx_L1_error)) /*else*/ { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = __Pyx_HasAttr(__pyx_v_pP, __pyx_n_s_getitem); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_8 = (__pyx_t_1 != 0); if (!__pyx_t_8) { } else { __pyx_t_2 = __pyx_t_8; goto __pyx_L5_bool_binop_done; } __pyx_t_8 = __Pyx_HasAttr(__pyx_v_pN, __pyx_n_s_getitem); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_1 = (__pyx_t_8 != 0); __pyx_t_2 = __pyx_t_1; __pyx_L5_bool_binop_done:; if (unlikely(!((!__pyx_t_2) != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_pP_pN_and_theta_must_have_s); __PYX_ERR(0, 265, __pyx_L1_error) } } #endif
+0266: xi = theta - np.pi/2.
__Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_pi); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyFloat_DivideObjC(__pyx_t_6, __pyx_float_2_, 2., 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_v_theta, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_xi = __pyx_t_6; __pyx_t_6 = 0;
+0267: if xi < 0.:
__Pyx_TraceLine(267,0,__PYX_ERR(0, 267, __pyx_L1_error)) __pyx_t_6 = PyObject_RichCompare(__pyx_v_xi, __pyx_float_0_, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 267, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ }
+0268: return xi+np.pi, -pN, -pP
__Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_pi); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_v_xi, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Negative(__pyx_v_pN); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyNumber_Negative(__pyx_v_pP); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
0269: else:
+0270: return xi, pP, pN
__Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_xi); __Pyx_GIVEREF(__pyx_v_xi); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_xi); __Pyx_INCREF(__pyx_v_pP); __Pyx_GIVEREF(__pyx_v_pP); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pP); __Pyx_INCREF(__pyx_v_pN); __Pyx_GIVEREF(__pyx_v_pN); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_pN); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } }
0271:
0272:
0273:
0274: """
0275: ########################################################
0276: ########################################################
0277: ########################################################
0278: # Ves-specific
0279: ########################################################
0280: ########################################################
0281: ########################################################
0282: """
0283:
0284:
0285:
0286:
0287: ########################################################
0288: ########################################################
0289: # isInside
0290: ########################################################
0291:
+0292: def _Ves_isInside(Pts, VPoly, Lim=None, nLim=None,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_13_Ves_isInside(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_13_Ves_isInside = {"_Ves_isInside", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_13_Ves_isInside, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_13_Ves_isInside(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_Pts = 0;
PyObject *__pyx_v_VPoly = 0;
PyObject *__pyx_v_Lim = 0;
PyObject *__pyx_v_nLim = 0;
PyObject *__pyx_v_VType = 0;
PyObject *__pyx_v_In = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_isInside (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Pts,&__pyx_n_s_VPoly,&__pyx_n_s_Lim,&__pyx_n_s_nLim,&__pyx_n_s_VType,&__pyx_n_s_In,&__pyx_n_s_Test,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
values[3] = ((PyObject *)((PyObject *)Py_None));
values[4] = ((PyObject *)((PyObject*)__pyx_n_s_Tor));
values[5] = ((PyObject *)((PyObject*)__pyx_kp_s_X_Y_Z));
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_12_Ves_isInside(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_Pts, PyObject *__pyx_v_VPoly, PyObject *__pyx_v_Lim, PyObject *__pyx_v_nLim, PyObject *__pyx_v_VType, PyObject *__pyx_v_In, PyObject *__pyx_v_Test) {
CYTHON_UNUSED PyObject *__pyx_v_path = NULL;
PyObject *__pyx_v_pts = NULL;
PyObject *__pyx_v_ind = NULL;
PyObject *__pyx_v_err = NULL;
PyObject *__pyx_v_msg = NULL;
PyObject *__pyx_v_ind0 = NULL;
PyObject *__pyx_v_ii = NULL;
PyObject *__pyx_v_lim = NULL;
PyObject *__pyx_v_ll = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__32)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_isInside", 0);
__Pyx_TraceCall("_Ves_isInside", __pyx_f[0], 292, 0, __PYX_ERR(0, 292, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_Lim);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_AddTraceback("tofu.geom._GG03._Ves_isInside", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_path);
__Pyx_XDECREF(__pyx_v_pts);
__Pyx_XDECREF(__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_err);
__Pyx_XDECREF(__pyx_v_msg);
__Pyx_XDECREF(__pyx_v_ind0);
__Pyx_XDECREF(__pyx_v_ii);
__Pyx_XDECREF(__pyx_v_lim);
__Pyx_XDECREF(__pyx_v_ll);
__Pyx_XDECREF(__pyx_v_Lim);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__119 = PyTuple_Pack(16, __pyx_n_s_Pts, __pyx_n_s_VPoly, __pyx_n_s_Lim, __pyx_n_s_nLim, __pyx_n_s_VType, __pyx_n_s_In, __pyx_n_s_Test, __pyx_n_s_path, __pyx_n_s_pts, __pyx_n_s_ind, __pyx_n_s_err, __pyx_n_s_msg, __pyx_n_s_ind0, __pyx_n_s_ii, __pyx_n_s_lim, __pyx_n_s_ll); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__119);
__Pyx_GIVEREF(__pyx_tuple__119);
__pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(7, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_isInside, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 292, __pyx_L1_error)
/* … */
__Pyx_TraceLine(292,0,__PYX_ERR(0, 292, __pyx_L1_error))
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_13_Ves_isInside, 0, __pyx_n_s_Ves_isInside, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__120);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_isInside, __pyx_t_1) < 0) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_tuple__120 = PyTuple_Pack(5, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject*)__pyx_n_s_Tor), ((PyObject*)__pyx_kp_s_X_Y_Z), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__120);
__Pyx_GIVEREF(__pyx_tuple__120);
+0293: VType='Tor', In='(X,Y,Z)', Test=True):
values[6] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Pts)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_isInside", 0, 2, 7, 1); __PYX_ERR(0, 292, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Lim);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nLim);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VType);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_In);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[6] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_isInside") < 0)) __PYX_ERR(0, 292, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_Pts = values[0];
__pyx_v_VPoly = values[1];
__pyx_v_Lim = values[2];
__pyx_v_nLim = values[3];
__pyx_v_VType = values[4];
__pyx_v_In = values[5];
__pyx_v_Test = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_isInside", 0, 2, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 292, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_isInside", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_12_Ves_isInside(__pyx_self, __pyx_v_Pts, __pyx_v_VPoly, __pyx_v_Lim, __pyx_v_nLim, __pyx_v_VType, __pyx_v_In, __pyx_v_Test);
+0294: if Test:
__Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+0295: assert type(Pts) is np.ndarray and Pts.ndim in [1,2], "Arg Pts must be a 1D or 2D np.ndarray !"
__Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_v_Pts)) == __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_4) { } else { __pyx_t_5 = __pyx_t_4; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __pyx_t_4; __pyx_L6_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = (__pyx_t_5 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Pts_must_be_a_1D_or_2D_np_nd); __PYX_ERR(0, 295, __pyx_L1_error) } } #endif
+0296: assert type(VPoly) is np.ndarray and VPoly.ndim==2 and VPoly.shape[0]==2, "Arg VPoly must be a (2,N) np.ndarray !"
__Pyx_TraceLine(296,0,__PYX_ERR(0, 296, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_v_VPoly)) == __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L8_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_5; __pyx_L8_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_VPoly_must_be_a_2_N_np_ndarr); __PYX_ERR(0, 296, __pyx_L1_error) } } #endif
+0297: assert Lim is None or (hasattr(Lim,'__iter__') and len(Lim)==2) or (hasattr(Lim,'__iter__') and all([hasattr(ll,'__iter__') and len(ll)==2 for ll in Lim])), "Arg Lim must be a len()==2 iterable or a list of such !"
__Pyx_TraceLine(297,0,__PYX_ERR(0, 297, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (__pyx_v_Lim == Py_None); __pyx_t_4 = (__pyx_t_5 != 0); if (!__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L11_bool_binop_done; } __pyx_t_4 = __Pyx_HasAttr(__pyx_v_Lim, __pyx_n_s_iter); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 297, __pyx_L1_error) __pyx_t_5 = (__pyx_t_4 != 0); if (!__pyx_t_5) { goto __pyx_L13_next_or; } else { } __pyx_t_6 = PyObject_Length(__pyx_v_Lim); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 297, __pyx_L1_error) __pyx_t_5 = ((__pyx_t_6 == 2) != 0); if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L11_bool_binop_done; } __pyx_L13_next_or:; __pyx_t_5 = __Pyx_HasAttr(__pyx_v_Lim, __pyx_n_s_iter); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 297, __pyx_L1_error) __pyx_t_4 = (__pyx_t_5 != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L11_bool_binop_done; } __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_v_Lim)) || PyTuple_CheckExact(__pyx_v_Lim)) { __pyx_t_2 = __pyx_v_Lim; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_Lim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 297, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 297, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_ll, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_4 = __Pyx_HasAttr(__pyx_v_ll, __pyx_n_s_iter); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 297, __pyx_L1_error) if (__pyx_t_4) { } else { __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __pyx_t_9 = 0; goto __pyx_L18_bool_binop_done; } __pyx_t_10 = PyObject_Length(__pyx_v_ll); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 297, __pyx_L1_error) __pyx_t_4 = (__pyx_t_10 == 2); __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __pyx_t_9 = 0; __pyx_L18_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_4; __pyx_L11_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Lim_must_be_a_len_2_iterable); __PYX_ERR(0, 297, __pyx_L1_error) } } #endif
+0298: assert type(VType) is str and VType.lower() in ['tor','lin'], "Arg VType must be a str in ['Tor','Lin'] !"
__Pyx_TraceLine(298,0,__PYX_ERR(0, 298, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_v_VType)) == ((PyObject *)(&PyString_Type))); __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L20_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 298, __pyx_L1_error) if (!__pyx_t_4) { } else { __pyx_t_5 = __pyx_t_4; goto __pyx_L22_bool_binop_done; } __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_lin, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 298, __pyx_L1_error) __pyx_t_5 = __pyx_t_4; __pyx_L22_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__pyx_t_5 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L20_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_VType_must_be_a_str_in_Tor_L); __PYX_ERR(0, 298, __pyx_L1_error) } } #endif
+0299: assert type(nLim) in [int,np.int64] and nLim>=0
__Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_nLim))); __pyx_t_2 = ((PyObject *)Py_TYPE(__pyx_v_nLim)); __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_t_2), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L26_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int64); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_t_2), __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L26_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L24_bool_binop_done; } __pyx_t_2 = PyObject_RichCompare(__pyx_v_nLim, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_5; __pyx_L24_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 299, __pyx_L1_error) } } #endif
0300:
+0301: path = Path(VPoly.T)
__Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_path = __pyx_t_2; __pyx_t_2 = 0;
+0302: if VType.lower()=='tor':
__Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L28; }
+0303: if Lim is None or nLim==0:
__Pyx_TraceLine(303,0,__PYX_ERR(0, 303, __pyx_L1_error)) __pyx_t_5 = (__pyx_v_Lim == Py_None); __pyx_t_4 = (__pyx_t_5 != 0); if (!__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L30_bool_binop_done; } __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_nLim, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_4; __pyx_L30_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L29; }
+0304: pts = CoordShift(Pts, In=In, Out='(R,Z)')
__Pyx_TraceLine(304,0,__PYX_ERR(0, 304, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CoordShift); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_Pts); __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_In, __pyx_v_In) < 0) __PYX_ERR(0, 304, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_Out, __pyx_kp_s_R_Z) < 0) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_pts = __pyx_t_9; __pyx_t_9 = 0;
+0305: ind = Path(VPoly.T).contains_points(pts.T, transform=None, radius=0.0)
__Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Path); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_pts, __pyx_n_s_T); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 305, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 305, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_ind = __pyx_t_2; __pyx_t_2 = 0;
0306: else:
+0307: try:
__Pyx_TraceLine(307,0,__PYX_ERR(0, 307, __pyx_L1_error)) /*else*/ { { /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L37_try_end; __pyx_L32_error:; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; /* … */ __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); goto __pyx_L1_error; __pyx_L37_try_end:; }
+0308: pts = CoordShift(Pts, In=In, Out='(R,Z,Phi)')
__Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L32_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CoordShift); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 308, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_Pts); __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 308, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_In, __pyx_v_In) < 0) __PYX_ERR(0, 308, __pyx_L32_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Out, __pyx_kp_s_R_Z_Phi) < 0) __PYX_ERR(0, 308, __pyx_L32_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 308, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_pts = __pyx_t_8; __pyx_t_8 = 0;
+0309: except Exception as err:
__Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L34_except_error)) __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_14) { __Pyx_AddTraceback("tofu.geom._GG03._Ves_isInside", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_9) < 0) __PYX_ERR(0, 309, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_v_err = __pyx_t_3;
+0310: msg = str(err)
__Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L34_except_error)) __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_msg = __pyx_t_2; __pyx_t_2 = 0;
+0311: msg += "\n You may have specified points in (R,Z)"
__Pyx_TraceLine(311,0,__PYX_ERR(0, 311, __pyx_L34_except_error)) __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_msg, __pyx_kp_s_You_may_have_specified_points_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 311, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_2); __pyx_t_2 = 0;
+0312: msg += "\n But there are toroidally limited elements !"
__Pyx_TraceLine(312,0,__PYX_ERR(0, 312, __pyx_L34_except_error)) __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_msg, __pyx_kp_s_But_there_are_toroidally_limite); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_2); __pyx_t_2 = 0;
+0313: msg += "\n (i.e.: element with self.nLim>0)"
__Pyx_TraceLine(313,0,__PYX_ERR(0, 313, __pyx_L34_except_error)) __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_msg, __pyx_kp_s_i_e_element_with_self_nLim_0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_2); __pyx_t_2 = 0;
+0314: msg += "\n These require to know the phi of points !"
__Pyx_TraceLine(314,0,__PYX_ERR(0, 314, __pyx_L34_except_error)) __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_msg, __pyx_kp_s_These_require_to_know_the_phi_o); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_2); __pyx_t_2 = 0;
+0315: raise Exception(msg)
__Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L34_except_error)) __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_v_msg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 315, __pyx_L34_except_error) } goto __pyx_L34_except_error; __pyx_L34_except_error:;
0316:
+0317: ind0 = Path(VPoly.T).contains_points(pts[:2,:].T,
__Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_slice__33 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__33)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__33); __Pyx_GIVEREF(__pyx_slice__33); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__34); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = 0; /* … */ __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ind0 = __pyx_t_2; __pyx_t_2 = 0; __pyx_tuple__34 = PyTuple_Pack(2, __pyx_slice__33, __pyx_slice__9); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34);
+0318: transform=None, radius=0.0)
__Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 318, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 318, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
+0319: if nLim>1:
__Pyx_TraceLine(319,0,__PYX_ERR(0, 319, __pyx_L1_error)) __pyx_t_2 = PyObject_RichCompare(__pyx_v_nLim, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 319, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 319, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L40; }
+0320: ind = np.zeros((nLim,Pts.shape[1]),dtype=bool)
__Pyx_TraceLine(320,0,__PYX_ERR(0, 320, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_nLim); __Pyx_GIVEREF(__pyx_v_nLim); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_nLim); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 320, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ind = __pyx_t_3; __pyx_t_3 = 0;
+0321: for ii in range(0,len(Lim)):
__Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L1_error)) __pyx_t_6 = PyObject_Length(__pyx_v_Lim); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 321, __pyx_L1_error) __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 321, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 321, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 321, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 321, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_3); __pyx_t_3 = 0; /* … */ __Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0322: lim = [Catan2(Csin(Lim[ii][0]),Ccos(Lim[ii][0])),
__Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(atan2(sin(__pyx_t_15), cos(__pyx_t_16))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) __pyx_t_8 = PyList_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_lim, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0;
+0323: Catan2(Csin(Lim[ii][1]),Ccos(Lim[ii][1]))]
__Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_9, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyFloat_FromDouble(atan2(sin(__pyx_t_16), cos(__pyx_t_15))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9);
+0324: if lim[0]<lim[1]:
__Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L1_error)) __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_lim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_GetItemInt_List(__pyx_v_lim, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 324, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L43; }
+0325: ind[ii,:] = (ind0
__Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L1_error)) __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_INCREF(__pyx_v_ii); __Pyx_GIVEREF(__pyx_v_ii); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_ii); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_slice__9); if (unlikely(PyObject_SetItem(__pyx_v_ind, __pyx_t_17, __pyx_t_3) < 0)) __PYX_ERR(0, 325, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 325, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0326: & (pts[2,:]>=lim[0])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt_List(__pyx_v_lim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_9, Py_GE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_And(__pyx_v_ind0, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
+0327: & (pts[2,:]<=lim[1]))
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(327,0,__PYX_ERR(0, 327, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lim, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = PyObject_RichCompare(__pyx_t_8, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_And(__pyx_t_9, __pyx_t_17); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
0328: else:
+0329: ind[ii,:] = (ind0
__Pyx_TraceLine(329,0,__PYX_ERR(0, 329, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_ii); __Pyx_GIVEREF(__pyx_v_ii); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_ii); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_slice__9); if (unlikely(PyObject_SetItem(__pyx_v_ind, __pyx_t_3, __pyx_t_8) < 0)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __pyx_L43:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0330: & ((pts[2,:]>=lim[0])
__Pyx_TraceLine(330,0,__PYX_ERR(0, 330, __pyx_L1_error)) /*else*/ { /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(329,0,__PYX_ERR(0, 329, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __Pyx_TraceLine(330,0,__PYX_ERR(0, 330, __pyx_L1_error)) __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_lim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_17, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); /* … */ __Pyx_TraceLine(330,0,__PYX_ERR(0, 330, __pyx_L1_error)) __pyx_t_8 = PyNumber_And(__pyx_v_ind0, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0331: | (pts[2,:]<=lim[1])))
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error)) __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lim, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyObject_RichCompare(__pyx_t_17, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Or(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
0332: else:
+0333: Lim = [Catan2(Csin(Lim[0,0]),Ccos(Lim[0,0])),
__Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L1_error)) /*else*/ { __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__36); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__36 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__36); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(atan2(sin(__pyx_t_15), cos(__pyx_t_16))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_tuple__36 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); /* … */ __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L1_error)) __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_8); __pyx_t_2 = 0; __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_Lim, __pyx_t_3); __pyx_t_3 = 0;
+0334: Catan2(Csin(Lim[0,1]),Ccos(Lim[0,1]))]
__Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__37); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* … */ __pyx_tuple__37 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__37); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyFloat_FromDouble(atan2(sin(__pyx_t_16), cos(__pyx_t_15))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_tuple__37 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37);
+0335: if Lim[0]<Lim[1]:
__Pyx_TraceLine(335,0,__PYX_ERR(0, 335, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L44; }
+0336: ind = ind0 & (pts[2,:]>=Lim[0]) & (pts[2,:]<=Lim[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_And(__pyx_v_ind0, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_LE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_And(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_ind = __pyx_t_2; __pyx_t_2 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
0337: else:
+0338: ind = ind0 & ((pts[2,:]>=Lim[0]) | (pts[2,:]<=Lim[1]))
__Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error)) /*else*/ { /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_t_9, Py_GE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__35); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_9, __pyx_t_2, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Or(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_And(__pyx_v_ind0, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ind = __pyx_t_3; __pyx_t_3 = 0; } __pyx_L44:; } __pyx_L40:; } __pyx_L29:; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
0339: else:
+0340: pts = CoordShift(Pts, In=In, Out='(X,Y,Z)')
__Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CoordShift); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_Pts); __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_In, __pyx_v_In) < 0) __PYX_ERR(0, 340, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_Out, __pyx_kp_s_X_Y_Z) < 0) __PYX_ERR(0, 340, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_pts = __pyx_t_9; __pyx_t_9 = 0;
+0341: ind0 = Path(VPoly.T).contains_points(pts[1:,:].T,
__Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Path); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__38); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_T); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = 0; /* … */ __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ind0 = __pyx_t_3; __pyx_t_3 = 0; __pyx_tuple__38 = PyTuple_Pack(2, __pyx_slice__26, __pyx_slice__9); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38);
+0342: transform=None, radius=0.0)
__Pyx_TraceLine(342,0,__PYX_ERR(0, 342, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 342, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 342, __pyx_L1_error)
+0343: if nLim>1:
__Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error)) __pyx_t_3 = PyObject_RichCompare(__pyx_v_nLim, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 343, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L45; }
+0344: ind = np.zeros((nLim,Pts.shape[1]),dtype=bool)
__Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_nLim); __Pyx_GIVEREF(__pyx_v_nLim); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_nLim); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 344, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_ind = __pyx_t_8; __pyx_t_8 = 0;
+0345: for ii in range(0,nLim):
__Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error)) __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_nLim); __Pyx_GIVEREF(__pyx_v_nLim); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_nLim); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 345, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 345, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 345, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 345, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_3); __pyx_t_3 = 0; /* … */ __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0346: ind[ii,:] = (ind0
__Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_ii); __Pyx_GIVEREF(__pyx_v_ii); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_ii); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_slice__9); if (unlikely(PyObject_SetItem(__pyx_v_ind, __pyx_t_3, __pyx_t_17) < 0)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0347: & (pts[0,:]>=Lim[ii][0])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_And(__pyx_v_ind0, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+0348: & (pts[0,:]<=Lim[ii][1]))
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__39); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_9, __pyx_t_17, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_And(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
0349: else:
+0350: ind = ind0 & (pts[0,:]>=Lim[0,0]) & (pts[0,:]<=Lim[0,1])
__Pyx_TraceLine(350,0,__PYX_ERR(0, 350, __pyx_L1_error)) /*else*/ { /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__39); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__36); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_17, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_And(__pyx_v_ind0, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__36 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__37); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_And(__pyx_t_17, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ind = __pyx_t_8; __pyx_t_8 = 0; } __pyx_L45:; } __pyx_L28:; __pyx_tuple__37 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37);
+0351: return ind
__Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ind); __pyx_r = __pyx_v_ind; goto __pyx_L0;
0352:
0353:
0354:
0355:
0356:
0357: ########################################################
0358: ########################################################
0359: # Meshing - Common - Linear
0360: ########################################################
0361:
0362:
0363: # Preliminary function to get optimal resolution from input resolution
0364: @cython.cdivision(True)
0365: @cython.wraparound(False)
0366: @cython.boundscheck(False)
+0367: def _Ves_mesh_dlfromL_cython(double[::1] LMinMax, double dL, DL=None, Lim=True, dLMode='abs', double margin=1.e-9):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_15_Ves_mesh_dlfromL_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_14_Ves_mesh_dlfromL_cython[] = " Get the actual reolution from the desired resolution and MinMax and limits ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_15_Ves_mesh_dlfromL_cython = {"_Ves_mesh_dlfromL_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_15_Ves_mesh_dlfromL_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_14_Ves_mesh_dlfromL_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_15_Ves_mesh_dlfromL_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_LMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
PyObject *__pyx_v_DL = 0;
PyObject *__pyx_v_Lim = 0;
PyObject *__pyx_v_dLMode = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_mesh_dlfromL_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_LMinMax,&__pyx_n_s_dL,&__pyx_n_s_DL,&__pyx_n_s_Lim,&__pyx_n_s_dLMode,&__pyx_n_s_margin,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
values[3] = ((PyObject *)((PyObject *)Py_True));
values[4] = ((PyObject *)((PyObject*)__pyx_n_s_abs));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LMinMax)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_mesh_dlfromL_cython", 0, 2, 6, 1); __PYX_ERR(0, 367, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DL);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Lim);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dLMode);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[5] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_mesh_dlfromL_cython") < 0)) __PYX_ERR(0, 367, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_LMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_LMinMax.memview)) __PYX_ERR(0, 367, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L3_error)
__pyx_v_DL = values[2];
__pyx_v_Lim = values[3];
__pyx_v_dLMode = values[4];
if (values[5]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_mesh_dlfromL_cython", 0, 2, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 367, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_mesh_dlfromL_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_14_Ves_mesh_dlfromL_cython(__pyx_self, __pyx_v_LMinMax, __pyx_v_dL, __pyx_v_DL, __pyx_v_Lim, __pyx_v_dLMode, __pyx_v_margin);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_14_Ves_mesh_dlfromL_cython(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_LMinMax, double __pyx_v_dL, PyObject *__pyx_v_DL, PyObject *__pyx_v_Lim, PyObject *__pyx_v_dLMode, double __pyx_v_margin) {
double __pyx_v_N;
double __pyx_v_dLr;
__Pyx_memviewslice __pyx_v_DLc = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_L = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indL = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_abs0;
double __pyx_v_abs1;
int __pyx_v_nL0;
int __pyx_v_nL1;
int __pyx_v_Nind;
int __pyx_v_ii;
int __pyx_v_jj;
PyObject *__pyx_v_dl = 0;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__40)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_mesh_dlfromL_cython", 0);
__Pyx_TraceCall("_Ves_mesh_dlfromL_cython", __pyx_f[0], 367, 0, __PYX_ERR(0, 367, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XDEC_MEMVIEW(&__pyx_t_16, 1);
__Pyx_XDECREF(__pyx_t_29);
__PYX_XDEC_MEMVIEW(&__pyx_t_30, 1);
__Pyx_XDECREF(__pyx_t_37);
__Pyx_XDECREF(__pyx_t_38);
__Pyx_AddTraceback("tofu.geom._GG03._Ves_mesh_dlfromL_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__PYX_XDEC_MEMVIEW(&__pyx_v_DLc, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_L, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indL, 1);
__Pyx_XDECREF(__pyx_v_dl);
__PYX_XDEC_MEMVIEW(&__pyx_v_LMinMax, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__121 = PyTuple_Pack(20, __pyx_n_s_LMinMax, __pyx_n_s_dL, __pyx_n_s_DL, __pyx_n_s_Lim, __pyx_n_s_dLMode, __pyx_n_s_margin, __pyx_n_s_N, __pyx_n_s_dLr, __pyx_n_s_DLc, __pyx_n_s_L, __pyx_n_s_indL, __pyx_n_s_abs0, __pyx_n_s_abs1, __pyx_n_s_A, __pyx_n_s_nL0, __pyx_n_s_nL1, __pyx_n_s_Nind, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_dl); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__121);
__Pyx_GIVEREF(__pyx_tuple__121);
/* … */
__Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_True));
__Pyx_GIVEREF(((PyObject *)Py_True));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)Py_True));
__Pyx_INCREF(((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(((PyObject*)__pyx_n_s_abs));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_15_Ves_mesh_dlfromL_cython, 0, __pyx_n_s_Ves_mesh_dlfromL_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_mesh_dlfromL_cython, __pyx_t_1) < 0) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_mesh_dlfromL_cython, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 367, __pyx_L1_error)
0368: """ Get the actual reolution from the desired resolution and MinMax and limits """
0369: # Get the number of mesh elements in LMinMax
0370: cdef double N
+0371: if dLMode.lower()=='abs':
__Pyx_TraceLine(371,0,__PYX_ERR(0, 371, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dLMode, __pyx_n_s_lower); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_abs, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+0372: N = Cceil((LMinMax[1]-LMinMax[0])/dL)
__Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error)) __pyx_t_5 = 1; __pyx_t_6 = 0; __pyx_v_N = ceil((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_5)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_6)) )))) / __pyx_v_dL));
0373: else:
+0374: N = Cceil(1./dL)
__Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) /*else*/ { __pyx_v_N = ceil((1. / __pyx_v_dL)); } __pyx_L3:;
0375: # Derive the real (effective) resolution
+0376: cdef double dLr = (LMinMax[1]-LMinMax[0])/N
__Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L1_error)) __pyx_t_7 = 1; __pyx_t_8 = 0; __pyx_v_dLr = (((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_7)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_8)) )))) / __pyx_v_N);
0377: # Get desired limits if any
0378: cdef double[::1] DLc, L
0379: cdef long [::1] indL
0380: #cdef cnp.ndarray[double,ndim=1] indL, L
0381: cdef double abs0, abs1, A
0382: cdef int nL0, nL1, Nind, ii, jj
0383: cdef list dl
+0384: if DL is None:
__Pyx_TraceLine(384,0,__PYX_ERR(0, 384, __pyx_L1_error)) __pyx_t_4 = (__pyx_v_DL == Py_None); __pyx_t_9 = (__pyx_t_4 != 0); if (__pyx_t_9) { /* … */ goto __pyx_L4; }
+0385: DLc = LMinMax
__Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) __PYX_INC_MEMVIEW(&__pyx_v_LMinMax, 0); __pyx_v_DLc = __pyx_v_LMinMax;
0386: else:
+0387: dl = list(DL)
__Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error)) /*else*/ { __pyx_t_1 = PySequence_List(__pyx_v_DL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_dl = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0388: if dl[0] is None:
__Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L1_error)) __pyx_t_9 = (PyList_GET_ITEM(__pyx_v_dl, 0) == Py_None); __pyx_t_4 = (__pyx_t_9 != 0); if (__pyx_t_4) { /* … */ }
+0389: dl[0] = LMinMax[0]
__Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error)) __pyx_t_10 = 0; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_10)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_SetItemInt(__pyx_v_dl, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0390: if dl[1] is None:
__Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error)) __pyx_t_4 = (PyList_GET_ITEM(__pyx_v_dl, 1) == Py_None); __pyx_t_9 = (__pyx_t_4 != 0); if (__pyx_t_9) { /* … */ }
+0391: dl[1] = LMinMax[1]
__Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L1_error)) __pyx_t_11 = 1; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_11)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_SetItemInt(__pyx_v_dl, 1, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0392: if Lim and dl[0]<=LMinMax[0]:
__Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_Lim); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 392, __pyx_L1_error) if (__pyx_t_4) { } else { __pyx_t_9 = __pyx_t_4; goto __pyx_L8_bool_binop_done; } __pyx_t_12 = 0; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_12)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(PyList_GET_ITEM(__pyx_v_dl, 0), __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __pyx_t_4; __pyx_L8_bool_binop_done:; if (__pyx_t_9) { /* … */ }
+0393: dl[0] = LMinMax[0]
__Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L1_error)) __pyx_t_13 = 0; __pyx_t_2 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_13)) )))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_v_dl, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0394: if Lim and dl[1]>=LMinMax[1]:
__Pyx_TraceLine(394,0,__PYX_ERR(0, 394, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_Lim); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 394, __pyx_L1_error) if (__pyx_t_4) { } else { __pyx_t_9 = __pyx_t_4; goto __pyx_L11_bool_binop_done; } __pyx_t_14 = 1; __pyx_t_2 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_14)) )))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(PyList_GET_ITEM(__pyx_v_dl, 1), __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __pyx_t_4; __pyx_L11_bool_binop_done:; if (__pyx_t_9) { /* … */ }
+0395: dl[1] = LMinMax[1]
__Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L1_error)) __pyx_t_15 = 1; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_15)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_SetItemInt(__pyx_v_dl, 1, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0396: DLc = np.array(dl)
__Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_dl) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_dl); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_DLc = __pyx_t_16; __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; } __pyx_L4:;
0397:
0398: # Get the extreme indices of the mesh elements that really need to be created within those limits
+0399: abs0 = Cabs(DLc[0]-LMinMax[0])
__Pyx_TraceLine(399,0,__PYX_ERR(0, 399, __pyx_L1_error)) __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_v_abs0 = fabs(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_17)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_18)) )))));
+0400: if abs0-dLr*Cfloor(abs0/dLr)<margin*dLr:
__Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L1_error)) __pyx_t_9 = (((__pyx_v_abs0 - (__pyx_v_dLr * floor((__pyx_v_abs0 / __pyx_v_dLr)))) < (__pyx_v_margin * __pyx_v_dLr)) != 0); if (__pyx_t_9) { /* … */ goto __pyx_L13; }
+0401: nL0 = int(Cround((DLc[0]-LMinMax[0])/dLr))
__Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L1_error)) __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_v_nL0 = ((int)round((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_19)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_20)) )))) / __pyx_v_dLr)));
0402: else:
+0403: nL0 = int(Cfloor((DLc[0]-LMinMax[0])/dLr))
__Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error)) /*else*/ { __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_v_nL0 = ((int)floor((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_21)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_22)) )))) / __pyx_v_dLr))); } __pyx_L13:;
+0404: abs1 = Cabs(DLc[1]-LMinMax[0])
__Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error)) __pyx_t_23 = 1; __pyx_t_24 = 0; __pyx_v_abs1 = fabs(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_23)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_24)) )))));
+0405: if abs1-dLr*Cfloor(abs1/dLr)<margin*dLr:
__Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L1_error)) __pyx_t_9 = (((__pyx_v_abs1 - (__pyx_v_dLr * floor((__pyx_v_abs1 / __pyx_v_dLr)))) < (__pyx_v_margin * __pyx_v_dLr)) != 0); if (__pyx_t_9) { /* … */ goto __pyx_L14; }
+0406: nL1 = int(Cround((DLc[1]-LMinMax[0])/dLr)-1)
__Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L1_error)) __pyx_t_25 = 1; __pyx_t_26 = 0; __pyx_v_nL1 = ((int)(round((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_25)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_26)) )))) / __pyx_v_dLr)) - 1.0));
0407: else:
+0408: nL1 = int(Cfloor((DLc[1]-LMinMax[0])/dLr))
__Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error)) /*else*/ { __pyx_t_27 = 1; __pyx_t_28 = 0; __pyx_v_nL1 = ((int)floor((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_DLc.data) + __pyx_t_27)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_28)) )))) / __pyx_v_dLr))); } __pyx_L14:;
0409: # Get the corresponding indices
+0410: Nind = nL1+1-nL0
__Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L1_error)) __pyx_v_Nind = ((__pyx_v_nL1 + 1) - __pyx_v_nL0);
+0411: indL = np.empty((Nind,),dtype=int)#np.linspace(nL0,nL1,Nind,endpoint=True)
__Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Nind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 411, __pyx_L1_error) __pyx_t_29 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_30 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_29, PyBUF_WRITABLE); if (unlikely(!__pyx_t_30.memview)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; __pyx_v_indL = __pyx_t_30; __pyx_t_30.memview = NULL; __pyx_t_30.data = NULL;
+0412: L = np.empty((Nind,))
__Pyx_TraceLine(412,0,__PYX_ERR(0, 412, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_Nind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_29 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_29, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; __pyx_v_L = __pyx_t_16; __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL;
+0413: for ii in range(0,Nind):
__Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L1_error)) __pyx_t_31 = __pyx_v_Nind; __pyx_t_32 = __pyx_t_31; for (__pyx_t_33 = 0; __pyx_t_33 < __pyx_t_32; __pyx_t_33+=1) { __pyx_v_ii = __pyx_t_33;
+0414: jj = nL0+ii
__Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L1_error)) __pyx_v_jj = (__pyx_v_nL0 + __pyx_v_ii);
+0415: indL[ii] = jj
__Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error)) __pyx_t_34 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_indL.data) + __pyx_t_34)) )) = __pyx_v_jj;
+0416: L[ii] = LMinMax[0] + (0.5 + (<double>jj))*dLr
__Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L1_error)) __pyx_t_35 = 0; __pyx_t_36 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_36)) )) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_35)) ))) + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dLr)); }
+0417: return np.asarray(L), dLr, np.asarray(indL), <long>N
__Pyx_TraceLine(417,0,__PYX_ERR(0, 417, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_L, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_29 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dLr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_asarray); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_indL, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_38 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_37))) { __pyx_t_38 = PyMethod_GET_SELF(__pyx_t_37); if (likely(__pyx_t_38)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_37); __Pyx_INCREF(__pyx_t_38); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_37, function); } } __pyx_t_1 = (__pyx_t_38) ? __Pyx_PyObject_Call2Args(__pyx_t_37, __pyx_t_38, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_2); __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __pyx_t_37 = __Pyx_PyInt_From_long(((long)__pyx_v_N)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_29); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_29); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_37); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_37); __pyx_t_29 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_37 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0418:
0419:
0420: ########################################################
0421: ########################################################
0422: # Meshing - Common - Polygon face
0423: ########################################################
0424:
0425: @cython.cdivision(True)
0426: @cython.wraparound(False)
0427: @cython.boundscheck(False)
+0428: def _Ves_meshCross_FromD(double[::1] MinMax1, double[::1] MinMax2, double d1, double d2, D1=None, D2=None,str dSMode='abs', VPoly=None, double margin=1.e-9):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_17_Ves_meshCross_FromD(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_17_Ves_meshCross_FromD = {"_Ves_meshCross_FromD", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_17_Ves_meshCross_FromD, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_17_Ves_meshCross_FromD(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_MinMax1 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_MinMax2 = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_d1;
double __pyx_v_d2;
PyObject *__pyx_v_D1 = 0;
PyObject *__pyx_v_D2 = 0;
PyObject *__pyx_v_dSMode = 0;
PyObject *__pyx_v_VPoly = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_meshCross_FromD (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_MinMax1,&__pyx_n_s_MinMax2,&__pyx_n_s_d1,&__pyx_n_s_d2,&__pyx_n_s_D1,&__pyx_n_s_D2,&__pyx_n_s_dSMode,&__pyx_n_s_VPoly,&__pyx_n_s_margin,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
values[4] = ((PyObject *)((PyObject *)Py_None));
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject*)((PyObject*)__pyx_n_s_abs));
values[7] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_MinMax1)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_MinMax2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromD", 0, 4, 9, 1); __PYX_ERR(0, 428, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d1)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromD", 0, 4, 9, 2); __PYX_ERR(0, 428, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromD", 0, 4, 9, 3); __PYX_ERR(0, 428, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_D1);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_D2);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dSMode);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[8] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_meshCross_FromD") < 0)) __PYX_ERR(0, 428, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_MinMax1 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_MinMax1.memview)) __PYX_ERR(0, 428, __pyx_L3_error)
__pyx_v_MinMax2 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_MinMax2.memview)) __PYX_ERR(0, 428, __pyx_L3_error)
__pyx_v_d1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_d1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 428, __pyx_L3_error)
__pyx_v_d2 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_d2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 428, __pyx_L3_error)
__pyx_v_D1 = values[4];
__pyx_v_D2 = values[5];
__pyx_v_dSMode = ((PyObject*)values[6]);
__pyx_v_VPoly = values[7];
if (values[8]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 428, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromD", 0, 4, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 428, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_meshCross_FromD", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dSMode), (&PyString_Type), 1, "dSMode", 1))) __PYX_ERR(0, 428, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_16_Ves_meshCross_FromD(__pyx_self, __pyx_v_MinMax1, __pyx_v_MinMax2, __pyx_v_d1, __pyx_v_d2, __pyx_v_D1, __pyx_v_D2, __pyx_v_dSMode, __pyx_v_VPoly, __pyx_v_margin);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_16_Ves_meshCross_FromD(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_MinMax1, __Pyx_memviewslice __pyx_v_MinMax2, double __pyx_v_d1, double __pyx_v_d2, PyObject *__pyx_v_D1, PyObject *__pyx_v_D2, PyObject *__pyx_v_dSMode, PyObject *__pyx_v_VPoly, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_X1 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_X2 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ind1 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ind2 = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED int __pyx_v_N1;
CYTHON_UNUSED int __pyx_v_N2;
int __pyx_v_n1;
int __pyx_v_n2;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_nn;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_ind = 0;
PyObject *__pyx_v_d1r = NULL;
PyObject *__pyx_v_d2r = NULL;
PyObject *__pyx_v_iin = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__41)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_meshCross_FromD", 0);
__Pyx_TraceCall("_Ves_meshCross_FromD", __pyx_f[0], 428, 0, __PYX_ERR(0, 428, __pyx_L1_error));
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_9, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_meshCross_FromD", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_X1, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_X2, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ind1, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ind2, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_d1r);
__Pyx_XDECREF(__pyx_v_d2r);
__Pyx_XDECREF(__pyx_v_iin);
__PYX_XDEC_MEMVIEW(&__pyx_v_MinMax1, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_MinMax2, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__122 = PyTuple_Pack(28, __pyx_n_s_MinMax1, __pyx_n_s_MinMax2, __pyx_n_s_d1, __pyx_n_s_d2, __pyx_n_s_D1, __pyx_n_s_D2, __pyx_n_s_dSMode, __pyx_n_s_VPoly, __pyx_n_s_margin, __pyx_n_s_X1, __pyx_n_s_X2, __pyx_n_s_dX1, __pyx_n_s_dX2, __pyx_n_s_ind1, __pyx_n_s_ind2, __pyx_n_s_N1, __pyx_n_s_N2, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_nn, __pyx_n_s_Pts, __pyx_n_s_dS, __pyx_n_s_ind, __pyx_n_s_d1r, __pyx_n_s_d2r, __pyx_n_s_iin); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__122);
__Pyx_GIVEREF(__pyx_tuple__122);
/* … */
__Pyx_TraceLine(428,0,__PYX_ERR(0, 428, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(((PyObject*)__pyx_n_s_abs));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject*)__pyx_n_s_abs));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 3, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_17_Ves_meshCross_FromD, 0, __pyx_n_s_Ves_meshCross_FromD, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_meshCross_FromD, __pyx_t_1) < 0) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(9, 0, 28, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_meshCross_FromD, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 428, __pyx_L1_error)
0429: cdef double[::1] X1, X2
0430: cdef double dX1, dX2
0431: cdef long[::1] ind1, ind2
0432: cdef int N1, N2, n1, n2, ii, jj, nn
0433: cdef cnp.ndarray[double,ndim=2] Pts
0434: cdef cnp.ndarray[double,ndim=1] dS
0435: cdef cnp.ndarray[long,ndim=1] ind
0436:
+0437: X1, d1r, ind1, N1 = _Ves_mesh_dlfromL_cython(MinMax1, d1, D1, Lim=True, dLMode=dSMode, margin=margin)
__Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_MinMax1, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_d1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_INCREF(__pyx_v_D1); __Pyx_GIVEREF(__pyx_v_D1); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_D1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 437, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dLMode, __pyx_v_dSMode) < 0) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_2) < 0) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 437, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 437, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_X1 = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_d1r = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_ind1 = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_N1 = __pyx_t_10;
+0438: X2, d2r, ind2, N2 = _Ves_mesh_dlfromL_cython(MinMax2, d2, D2, Lim=True, dLMode=dSMode, margin=margin)
__Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_MinMax2, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_d2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_INCREF(__pyx_v_D2); __Pyx_GIVEREF(__pyx_v_D2); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_D2); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 438, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dLMode, __pyx_v_dSMode) < 0) __PYX_ERR(0, 438, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 438, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 438, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 438, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_X2 = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_d2r = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_ind2 = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_N2 = __pyx_t_10;
+0439: n1, n2 = len(X1), len(X2)
__Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L1_error)) __pyx_t_11 = __Pyx_MemoryView_Len(__pyx_v_X1); __pyx_t_12 = __Pyx_MemoryView_Len(__pyx_v_X2); __pyx_v_n1 = __pyx_t_11; __pyx_v_n2 = __pyx_t_12;
0440:
+0441: Pts = np.empty((2,n1*n2))
__Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_n1 * __pyx_v_n2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 441, __pyx_L1_error) __pyx_t_13 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_15, __pyx_t_16); } __pyx_t_14 = __pyx_t_15 = __pyx_t_16 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 441, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+0442: dS = d1r*d2r*np.ones((n1*n2,))
__Pyx_TraceLine(442,0,__PYX_ERR(0, 442, __pyx_L1_error)) __pyx_t_5 = PyNumber_Multiply(__pyx_v_d1r, __pyx_v_d2r); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_n1 * __pyx_v_n2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 442, __pyx_L1_error) __pyx_t_17 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_16, __pyx_t_15, __pyx_t_14); } __pyx_t_16 = __pyx_t_15 = __pyx_t_14 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 442, __pyx_L1_error) } __pyx_t_17 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0443: ind = np.empty((n1*n2,),dtype=int)
__Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_n1 * __pyx_v_n2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 443, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 443, __pyx_L1_error) __pyx_t_18 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_15, __pyx_t_16); } __pyx_t_14 = __pyx_t_15 = __pyx_t_16 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 443, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+0444: for ii in range(0,n2):
__Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error)) __pyx_t_10 = __pyx_v_n2; __pyx_t_19 = __pyx_t_10; for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_19; __pyx_t_20+=1) { __pyx_v_ii = __pyx_t_20;
+0445: for jj in range(0,n1):
__Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L1_error)) __pyx_t_21 = __pyx_v_n1; __pyx_t_22 = __pyx_t_21; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_jj = __pyx_t_23;
+0446: nn = jj+n1*ii
__Pyx_TraceLine(446,0,__PYX_ERR(0, 446, __pyx_L1_error)) __pyx_v_nn = (__pyx_v_jj + (__pyx_v_n1 * __pyx_v_ii));
+0447: Pts[0,nn] = X1[jj]
__Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L1_error)) __pyx_t_24 = __pyx_v_jj; __pyx_t_25 = 0; __pyx_t_26 = __pyx_v_nn; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_X1.data) + __pyx_t_24)) )));
+0448: Pts[1,nn] = X2[ii]
__Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error)) __pyx_t_27 = __pyx_v_ii; __pyx_t_28 = 1; __pyx_t_29 = __pyx_v_nn; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_X2.data) + __pyx_t_27)) )));
+0449: ind[nn] = ind1[jj] + n1*ind2[ii]
__Pyx_TraceLine(449,0,__PYX_ERR(0, 449, __pyx_L1_error)) __pyx_t_30 = __pyx_v_jj; __pyx_t_31 = __pyx_v_ii; __pyx_t_32 = __pyx_v_nn; *__Pyx_BufPtrStrided1d(long *, __pyx_pybuffernd_ind.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_ind.diminfo[0].strides) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind1.data) + __pyx_t_30)) ))) + (__pyx_v_n1 * (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind2.data) + __pyx_t_31)) ))))); } }
+0450: if VPoly is not None:
__Pyx_TraceLine(450,0,__PYX_ERR(0, 450, __pyx_L1_error)) __pyx_t_33 = (__pyx_v_VPoly != Py_None); __pyx_t_34 = (__pyx_t_33 != 0); if (__pyx_t_34) { /* … */ }
+0451: iin = Path(VPoly.T).contains_points(Pts.T, transform=None, radius=0.0)
__Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Pts), __pyx_n_s_T); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 451, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 451, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_iin = __pyx_t_2; __pyx_t_2 = 0;
+0452: if np.sum(iin)==1:
__Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_iin) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_iin); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 452, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_34) { /* … */ goto __pyx_L12; }
+0453: Pts, dS, ind = Pts[:,iin].reshape((2,1)), dS[iin], ind[iin]
__Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L1_error)) __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_iin); __Pyx_GIVEREF(__pyx_v_iin); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_iin); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_reshape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_tuple__42) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_tuple__42); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 453, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dS), __pyx_v_iin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 453, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_iin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 453, __pyx_L1_error) __pyx_t_13 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_16, __pyx_t_15, __pyx_t_14); } __pyx_t_16 = __pyx_t_15 = __pyx_t_14 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 453, __pyx_L1_error) } __pyx_t_13 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_17 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_15, __pyx_t_16); } __pyx_t_14 = __pyx_t_15 = __pyx_t_16 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 453, __pyx_L1_error) } __pyx_t_17 = 0; __Pyx_DECREF_SET(__pyx_v_dS, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_16, __pyx_t_15, __pyx_t_14); } __pyx_t_16 = __pyx_t_15 = __pyx_t_14 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 453, __pyx_L1_error) } __pyx_t_18 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_tuple__42 = PyTuple_Pack(2, __pyx_int_2, __pyx_int_1); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42);
0454: else:
+0455: Pts, dS, ind = Pts[:,iin], dS[iin], ind[iin]
__Pyx_TraceLine(455,0,__PYX_ERR(0, 455, __pyx_L1_error)) /*else*/ { __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_iin); __Pyx_GIVEREF(__pyx_v_iin); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_iin); __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 455, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dS), __pyx_v_iin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 455, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_iin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 455, __pyx_L1_error) __pyx_t_13 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_15, __pyx_t_16); } __pyx_t_14 = __pyx_t_15 = __pyx_t_16 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 455, __pyx_L1_error) } __pyx_t_13 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_17 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_16, __pyx_t_15, __pyx_t_14); } __pyx_t_16 = __pyx_t_15 = __pyx_t_14 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 455, __pyx_L1_error) } __pyx_t_17 = 0; __Pyx_DECREF_SET(__pyx_v_dS, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_15, __pyx_t_16); } __pyx_t_14 = __pyx_t_15 = __pyx_t_16 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 455, __pyx_L1_error) } __pyx_t_18 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; } __pyx_L12:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0456: return Pts, dS, ind, d1r, d2r
__Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_v_ind)); __Pyx_INCREF(__pyx_v_d1r); __Pyx_GIVEREF(__pyx_v_d1r); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_d1r); __Pyx_INCREF(__pyx_v_d2r); __Pyx_GIVEREF(__pyx_v_d2r); PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_d2r); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
0457:
0458:
0459: @cython.cdivision(True)
0460: @cython.wraparound(False)
0461: @cython.boundscheck(False)
+0462: def _Ves_meshCross_FromInd(double[::1] MinMax1, double[::1] MinMax2, double d1, double d2, long[::1] ind, str dSMode='abs', double margin=1.e-9):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_19_Ves_meshCross_FromInd(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_19_Ves_meshCross_FromInd = {"_Ves_meshCross_FromInd", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_19_Ves_meshCross_FromInd, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_19_Ves_meshCross_FromInd(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_MinMax1 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_MinMax2 = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_d1;
double __pyx_v_d2;
__Pyx_memviewslice __pyx_v_ind = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_dSMode = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_meshCross_FromInd (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_MinMax1,&__pyx_n_s_MinMax2,&__pyx_n_s_d1,&__pyx_n_s_d2,&__pyx_n_s_ind,&__pyx_n_s_dSMode,&__pyx_n_s_margin,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[5] = ((PyObject*)((PyObject*)__pyx_n_s_abs));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_MinMax1)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_MinMax2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromInd", 0, 5, 7, 1); __PYX_ERR(0, 462, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d1)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromInd", 0, 5, 7, 2); __PYX_ERR(0, 462, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromInd", 0, 5, 7, 3); __PYX_ERR(0, 462, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromInd", 0, 5, 7, 4); __PYX_ERR(0, 462, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dSMode);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[6] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_meshCross_FromInd") < 0)) __PYX_ERR(0, 462, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_MinMax1 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_MinMax1.memview)) __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_v_MinMax2 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_MinMax2.memview)) __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_v_d1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_d1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_v_d2 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_d2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_v_ind = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ind.memview)) __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_v_dSMode = ((PyObject*)values[5]);
if (values[6]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 462, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_meshCross_FromInd", 0, 5, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 462, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_meshCross_FromInd", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dSMode), (&PyString_Type), 1, "dSMode", 1))) __PYX_ERR(0, 462, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_18_Ves_meshCross_FromInd(__pyx_self, __pyx_v_MinMax1, __pyx_v_MinMax2, __pyx_v_d1, __pyx_v_d2, __pyx_v_ind, __pyx_v_dSMode, __pyx_v_margin);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_18_Ves_meshCross_FromInd(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_MinMax1, __Pyx_memviewslice __pyx_v_MinMax2, double __pyx_v_d1, double __pyx_v_d2, __Pyx_memviewslice __pyx_v_ind, PyObject *__pyx_v_dSMode, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_X1 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_X2 = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_bla = { 0, 0, { 0 }, { 0 }, { 0 } };
int __pyx_v_N1;
CYTHON_UNUSED int __pyx_v_N2;
int __pyx_v_NP;
int __pyx_v_ii;
int __pyx_v_i1;
int __pyx_v_i2;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_dS = 0;
PyObject *__pyx_v_d1r = NULL;
PyObject *__pyx_v_d2r = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__43)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_meshCross_FromInd", 0);
__Pyx_TraceCall("_Ves_meshCross_FromInd", __pyx_f[0], 462, 0, __PYX_ERR(0, 462, __pyx_L1_error));
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__PYX_XDEC_MEMVIEW(&__pyx_t_9, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_meshCross_FromInd", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_X1, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_X2, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_bla, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF(__pyx_v_d1r);
__Pyx_XDECREF(__pyx_v_d2r);
__PYX_XDEC_MEMVIEW(&__pyx_v_MinMax1, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_MinMax2, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ind, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__123 = PyTuple_Pack(22, __pyx_n_s_MinMax1, __pyx_n_s_MinMax2, __pyx_n_s_d1, __pyx_n_s_d2, __pyx_n_s_ind, __pyx_n_s_dSMode, __pyx_n_s_margin, __pyx_n_s_X1, __pyx_n_s_X2, __pyx_n_s_dX1, __pyx_n_s_dX2, __pyx_n_s_bla, __pyx_n_s_N1, __pyx_n_s_N2, __pyx_n_s_NP, __pyx_n_s_ii, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_Pts, __pyx_n_s_dS, __pyx_n_s_d1r, __pyx_n_s_d2r); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__123);
__Pyx_GIVEREF(__pyx_tuple__123);
/* … */
__Pyx_TraceLine(462,0,__PYX_ERR(0, 462, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(((PyObject*)__pyx_n_s_abs));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_19_Ves_meshCross_FromInd, 0, __pyx_n_s_Ves_meshCross_FromInd, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_meshCross_FromInd, __pyx_t_1) < 0) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(7, 0, 22, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_meshCross_FromInd, 462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 462, __pyx_L1_error)
0463: cdef double[::1] X1, X2
0464: cdef double dX1, dX2
0465: cdef long[::1] bla
+0466: cdef int N1, N2, NP=ind.size, ii, i1, i2
__Pyx_TraceLine(466,0,__PYX_ERR(0, 466, __pyx_L1_error)) __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_ind, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 466, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_NP = __pyx_t_3;
0467: cdef cnp.ndarray[double,ndim=2] Pts
0468: cdef cnp.ndarray[double,ndim=1] dS
0469:
+0470: X1, d1r, bla, N1 = _Ves_mesh_dlfromL_cython(MinMax1, d1, None, Lim=True, dLMode=dSMode, margin=margin)
__Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_MinMax1, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_d1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_5, 2, Py_None); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 470, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dLMode, __pyx_v_dSMode) < 0) __PYX_ERR(0, 470, __pyx_L1_error) __pyx_t_1 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_margin, __pyx_t_1) < 0) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 470, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_6 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_2,&__pyx_t_6}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_2,&__pyx_t_6}; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_8(__pyx_t_7); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 4) < 0) __PYX_ERR(0, 470, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 470, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_4, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_X1 = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_d1r = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_bla = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_v_N1 = __pyx_t_3;
+0471: X2, d2r, bla, N2 = _Ves_mesh_dlfromL_cython(MinMax2, d2, None, Lim=True, dLMode=dSMode, margin=margin)
__Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_MinMax2, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_d2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_5, 2, Py_None); __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 471, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dLMode, __pyx_v_dSMode) < 0) __PYX_ERR(0, 471, __pyx_L1_error) __pyx_t_6 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_6) < 0) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { PyObject* sequence = __pyx_t_6; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 471, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_4 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_1,&__pyx_t_4}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_1,&__pyx_t_4}; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_8(__pyx_t_7); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 4) < 0) __PYX_ERR(0, 471, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 471, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_X2 = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_d2r = __pyx_t_5; __pyx_t_5 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_bla, 1); __pyx_v_bla = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_v_N2 = __pyx_t_3;
0472:
+0473: Pts = np.empty((2,NP))
__Pyx_TraceLine(473,0,__PYX_ERR(0, 473, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 473, __pyx_L1_error) __pyx_t_11 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_3 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_3 < 0)) { PyErr_Fetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_12, __pyx_t_13, __pyx_t_14); } __pyx_t_12 = __pyx_t_13 = __pyx_t_14 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 473, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
+0474: dS = d1r*d2r*np.ones((NP,))
__Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L1_error)) __pyx_t_6 = PyNumber_Multiply(__pyx_v_d1r, __pyx_v_d2r); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 474, __pyx_L1_error) __pyx_t_15 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_3 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_15, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_3 < 0)) { PyErr_Fetch(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_12); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_14, __pyx_t_13, __pyx_t_12); } __pyx_t_14 = __pyx_t_13 = __pyx_t_12 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 474, __pyx_L1_error) } __pyx_t_15 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+0475: for ii in range(0,NP):
__Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L1_error)) __pyx_t_3 = __pyx_v_NP; __pyx_t_16 = __pyx_t_3; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_ii = __pyx_t_17;
+0476: i2 = ind[ii] // N1
__Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L1_error)) __pyx_t_18 = __pyx_v_ii; __pyx_v_i2 = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_18)) ))) / __pyx_v_N1);
+0477: i1 = ind[ii]-i2*N1
__Pyx_TraceLine(477,0,__PYX_ERR(0, 477, __pyx_L1_error)) __pyx_t_19 = __pyx_v_ii; __pyx_v_i1 = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_19)) ))) - (__pyx_v_i2 * __pyx_v_N1));
+0478: Pts[0,ii] = X1[i1]
__Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L1_error)) __pyx_t_20 = __pyx_v_i1; __pyx_t_21 = 0; __pyx_t_22 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_X1.data) + __pyx_t_20)) )));
+0479: Pts[1,ii] = X2[i2]
__Pyx_TraceLine(479,0,__PYX_ERR(0, 479, __pyx_L1_error)) __pyx_t_23 = __pyx_v_i2; __pyx_t_24 = 1; __pyx_t_25 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_X2.data) + __pyx_t_23)) ))); }
+0480: return Pts, dS, d1r, d2r
__Pyx_TraceLine(480,0,__PYX_ERR(0, 480, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(__pyx_v_d1r); __Pyx_GIVEREF(__pyx_v_d1r); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_d1r); __Pyx_INCREF(__pyx_v_d2r); __Pyx_GIVEREF(__pyx_v_d2r); PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_d2r); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
0481:
0482:
0483:
0484:
0485:
0486: @cython.cdivision(True)
0487: @cython.wraparound(False)
0488: @cython.boundscheck(False)
+0489: def _Ves_Smesh_Cross(double[:,::1] VPoly, double dL, str dLMode='abs', D1=None, D2=None, double margin=1.e-9, double DIn=0., VIn=None):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_21_Ves_Smesh_Cross(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_21_Ves_Smesh_Cross = {"_Ves_Smesh_Cross", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_21_Ves_Smesh_Cross, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_21_Ves_Smesh_Cross(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
PyObject *__pyx_v_dLMode = 0;
PyObject *__pyx_v_D1 = 0;
PyObject *__pyx_v_D2 = 0;
double __pyx_v_margin;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Cross (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_VPoly,&__pyx_n_s_dL,&__pyx_n_s_dLMode,&__pyx_n_s_D1,&__pyx_n_s_D2,&__pyx_n_s_margin,&__pyx_n_s_DIn,&__pyx_n_s_VIn,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
values[2] = ((PyObject*)((PyObject*)__pyx_n_s_abs));
values[3] = ((PyObject *)((PyObject *)Py_None));
values[4] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Cross", 0, 2, 8, 1); __PYX_ERR(0, 489, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dLMode);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_D1);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_D2);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[7] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_Cross") < 0)) __PYX_ERR(0, 489, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 489, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L3_error)
__pyx_v_dLMode = ((PyObject*)values[2]);
__pyx_v_D1 = values[3];
__pyx_v_D2 = values[4];
if (values[5]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
if (values[6]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[7];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Cross", 0, 2, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 489, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Cross", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dLMode), (&PyString_Type), 1, "dLMode", 1))) __PYX_ERR(0, 489, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_20_Ves_Smesh_Cross(__pyx_self, __pyx_v_VPoly, __pyx_v_dL, __pyx_v_dLMode, __pyx_v_D1, __pyx_v_D2, __pyx_v_margin, __pyx_v_DIn, __pyx_v_VIn);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_20_Ves_Smesh_Cross(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_VPoly, double __pyx_v_dL, PyObject *__pyx_v_dLMode, PyObject *__pyx_v_D1, PyObject *__pyx_v_D2, double __pyx_v_margin, double __pyx_v_DIn, PyObject *__pyx_v_VIn) {
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_nn;
int __pyx_v_NP;
__Pyx_memviewslice __pyx_v_LMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_L = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_v0;
double __pyx_v_v1;
double __pyx_v_dlr;
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indL = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_N = 0;
PyArrayObject *__pyx_v_ind = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_PtsCross = 0;
PyObject *__pyx_v_LPtsCross = 0;
PyObject *__pyx_v_LdLr = 0;
PyObject *__pyx_v_Lind = 0;
PyObject *__pyx_v_LRref = 0;
PyObject *__pyx_v_VPolybis = 0;
PyObject *__pyx_v_indin = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_N;
__Pyx_Buffer __pyx_pybuffer_N;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsCross;
__Pyx_Buffer __pyx_pybuffer_PtsCross;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__44)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Cross", 0);
__Pyx_TraceCall("_Ves_Smesh_Cross", __pyx_f[0], 489, 0, __PYX_ERR(0, 489, __pyx_L1_error));
__pyx_pybuffer_N.pybuffer.buf = NULL;
__pyx_pybuffer_N.refcount = 0;
__pyx_pybuffernd_N.data = NULL;
__pyx_pybuffernd_N.rcbuffer = &__pyx_pybuffer_N;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_PtsCross.pybuffer.buf = NULL;
__pyx_pybuffer_PtsCross.refcount = 0;
__pyx_pybuffernd_PtsCross.data = NULL;
__pyx_pybuffernd_PtsCross.rcbuffer = &__pyx_pybuffer_PtsCross;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__PYX_XDEC_MEMVIEW(&__pyx_t_5, 1);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26);
__PYX_XDEC_MEMVIEW(&__pyx_t_28, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_N.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Cross", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_N.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_LMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_L, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indL, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_N);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsCross);
__Pyx_XDECREF(__pyx_v_LPtsCross);
__Pyx_XDECREF(__pyx_v_LdLr);
__Pyx_XDECREF(__pyx_v_Lind);
__Pyx_XDECREF(__pyx_v_LRref);
__Pyx_XDECREF(__pyx_v_VPolybis);
__Pyx_XDECREF(__pyx_v_indin);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__124 = PyTuple_Pack(29, __pyx_n_s_VPoly, __pyx_n_s_dL, __pyx_n_s_dLMode, __pyx_n_s_D1, __pyx_n_s_D2, __pyx_n_s_margin, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_nn, __pyx_n_s_NP, __pyx_n_s_LMinMax, __pyx_n_s_L, __pyx_n_s_v0, __pyx_n_s_v1, __pyx_n_s_dlr, __pyx_n_s_indL, __pyx_n_s_N, __pyx_n_s_ind, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_PtsCross, __pyx_n_s_LPtsCross, __pyx_n_s_LdLr, __pyx_n_s_Lind, __pyx_n_s_LRref, __pyx_n_s_VPolybis, __pyx_n_s_indin); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__124);
__Pyx_GIVEREF(__pyx_tuple__124);
/* … */
__Pyx_TraceLine(489,0,__PYX_ERR(0, 489, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = PyTuple_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject*)__pyx_n_s_abs));
__Pyx_GIVEREF(((PyObject*)__pyx_n_s_abs));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject*)__pyx_n_s_abs));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 5, ((PyObject *)Py_None));
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_21_Ves_Smesh_Cross, 0, __pyx_n_s_Ves_Smesh_Cross, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_Cross, __pyx_t_2) < 0) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(8, 0, 29, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_Cross, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 489, __pyx_L1_error)
+0490: cdef int ii, jj, nn=0, NP=VPoly.shape[1]
__Pyx_TraceLine(490,0,__PYX_ERR(0, 490, __pyx_L1_error)) __pyx_v_nn = 0; __pyx_v_NP = (__pyx_v_VPoly.shape[1]);
0491: cdef double[::1] LMinMax, L
0492: cdef double v0, v1, dlr
0493: cdef long[::1] indL
0494: cdef cnp.ndarray[long,ndim=1] N, ind
0495: cdef cnp.ndarray[double,ndim=1] dLr, Rref
0496: cdef cnp.ndarray[double,ndim=2] PtsCross
+0497: cdef list LPtsCross=[], LdLr=[], Lind=[], LRref=[], VPolybis=[]
__Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LPtsCross = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LdLr = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_Lind = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LRref = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_VPolybis = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
0498:
+0499: LMinMax = np.array([0.,1.],dtype=float)
__Pyx_TraceLine(499,0,__PYX_ERR(0, 499, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_); __Pyx_GIVEREF(__pyx_float_0_); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_1_); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 499, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_4, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_LMinMax = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+0500: N = np.empty((NP-1,),dtype=int)
__Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_NP - 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 500, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 500, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_N.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_N.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_N.rcbuffer->pybuffer, (PyObject*)__pyx_v_N, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_N.diminfo[0].strides = __pyx_pybuffernd_N.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_N.diminfo[0].shape = __pyx_pybuffernd_N.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 500, __pyx_L1_error) } __pyx_t_6 = 0; __pyx_v_N = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+0501: if DIn==0.:
__Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_DIn == 0.) != 0); if (__pyx_t_11) { /* … */ goto __pyx_L3; }
+0502: for ii in range(0,NP-1):
__Pyx_TraceLine(502,0,__PYX_ERR(0, 502, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_NP - 1); __pyx_t_13 = __pyx_t_12; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_13; __pyx_t_7+=1) { __pyx_v_ii = __pyx_t_7;
+0503: v0, v1 = VPoly[0,ii+1]-VPoly[0,ii], VPoly[1,ii+1]-VPoly[1,ii]
__Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L1_error)) __pyx_t_14 = 0; __pyx_t_15 = (__pyx_v_ii + 1); __pyx_t_16 = 0; __pyx_t_17 = __pyx_v_ii; __pyx_t_18 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_14 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_15)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_16 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_17)) )))); __pyx_t_19 = 1; __pyx_t_20 = (__pyx_v_ii + 1); __pyx_t_21 = 1; __pyx_t_22 = __pyx_v_ii; __pyx_t_23 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_19 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_20)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_21 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_22)) )))); __pyx_v_v0 = __pyx_t_18; __pyx_v_v1 = __pyx_t_23;
+0504: LMinMax[1] = Csqrt(v0**2 + v1**2)
__Pyx_TraceLine(504,0,__PYX_ERR(0, 504, __pyx_L1_error)) __pyx_t_24 = 1; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_24)) )) = sqrt((pow(__pyx_v_v0, 2.0) + pow(__pyx_v_v1, 2.0)));
+0505: L, dlr, indL, N[ii] = _Ves_mesh_dlfromL_cython(LMinMax, dL, dLMode=dLMode, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(505,0,__PYX_ERR(0, 505, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_LMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dLMode, __pyx_v_dLMode) < 0) __PYX_ERR(0, 505, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 505, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 505, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 505, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_25 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_25 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_25); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_1,&__pyx_t_2,&__pyx_t_25}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_1,&__pyx_t_2,&__pyx_t_25}; __pyx_t_26 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_27 = Py_TYPE(__pyx_t_26)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_27(__pyx_t_26); if (unlikely(!item)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_27(__pyx_t_26), 4) < 0) __PYX_ERR(0, 505, __pyx_L1_error) __pyx_t_27 = NULL; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_27 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 505, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_4, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_28 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_28.memview)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_29 = __Pyx_PyInt_As_long(__pyx_t_25); if (unlikely((__pyx_t_29 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_L, 1); __pyx_v_L = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; __pyx_v_dlr = __pyx_t_23; __PYX_XDEC_MEMVIEW(&__pyx_v_indL, 1); __pyx_v_indL = __pyx_t_28; __pyx_t_28.memview = NULL; __pyx_t_28.data = NULL; __pyx_t_30 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(long *, __pyx_pybuffernd_N.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_N.diminfo[0].strides) = __pyx_t_29;
+0506: VPolybis.append((VPoly[0,ii],VPoly[1,ii]))
__Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L1_error)) __pyx_t_31 = 0; __pyx_t_32 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_31 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_32)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_33 = 1; __pyx_t_34 = __pyx_v_ii; __pyx_t_25 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_33 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_34)) )))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_25); __pyx_t_3 = 0; __pyx_t_25 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0507: v0, v1 = v0/LMinMax[1], v1/LMinMax[1]
__Pyx_TraceLine(507,0,__PYX_ERR(0, 507, __pyx_L1_error)) __pyx_t_36 = 1; __pyx_t_23 = (__pyx_v_v0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_36)) )))); __pyx_t_37 = 1; __pyx_t_18 = (__pyx_v_v1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_37)) )))); __pyx_v_v0 = __pyx_t_23; __pyx_v_v1 = __pyx_t_18;
+0508: for jj in range(0,N[ii]):
__Pyx_TraceLine(508,0,__PYX_ERR(0, 508, __pyx_L1_error)) __pyx_t_38 = __pyx_v_ii; __pyx_t_29 = (*__Pyx_BufPtrStrided1d(long *, __pyx_pybuffernd_N.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_N.diminfo[0].strides)); __pyx_t_39 = __pyx_t_29; for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) { __pyx_v_jj = __pyx_t_40;
+0509: LdLr.append(dlr)
__Pyx_TraceLine(509,0,__PYX_ERR(0, 509, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dlr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LdLr, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 509, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0510: LRref.append(VPoly[0,ii] + L[jj]*v0)
__Pyx_TraceLine(510,0,__PYX_ERR(0, 510, __pyx_L1_error)) __pyx_t_41 = 0; __pyx_t_42 = __pyx_v_ii; __pyx_t_43 = __pyx_v_jj; __pyx_t_2 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_41 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_42)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_43)) ))) * __pyx_v_v0))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LRref, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 510, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0511: LPtsCross.append((VPoly[0,ii] + L[jj]*v0, VPoly[1,ii] + L[jj]*v1))
__Pyx_TraceLine(511,0,__PYX_ERR(0, 511, __pyx_L1_error)) __pyx_t_44 = 0; __pyx_t_45 = __pyx_v_ii; __pyx_t_46 = __pyx_v_jj; __pyx_t_2 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_44 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_45)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_46)) ))) * __pyx_v_v0))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_47 = 1; __pyx_t_48 = __pyx_v_ii; __pyx_t_49 = __pyx_v_jj; __pyx_t_25 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_47 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_48)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_49)) ))) * __pyx_v_v1))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_25); __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LPtsCross, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 511, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0512: Lind.append(nn)
__Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_Lind, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 512, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0513: nn += 1
__Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L1_error)) __pyx_v_nn = (__pyx_v_nn + 1);
+0514: VPolybis.append((VPoly[0,ii] + jj*dlr*v0, VPoly[1,ii] + jj*dlr*v1))
__Pyx_TraceLine(514,0,__PYX_ERR(0, 514, __pyx_L1_error)) __pyx_t_50 = 0; __pyx_t_51 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_50 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_51)) ))) + ((__pyx_v_jj * __pyx_v_dlr) * __pyx_v_v0))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_52 = 1; __pyx_t_53 = __pyx_v_ii; __pyx_t_25 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_52 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_53)) ))) + ((__pyx_v_jj * __pyx_v_dlr) * __pyx_v_v1))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_25); __pyx_t_3 = 0; __pyx_t_25 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } }
+0515: VPolybis.append((VPoly[0,0],VPoly[1,0]))
__Pyx_TraceLine(515,0,__PYX_ERR(0, 515, __pyx_L1_error)) __pyx_t_54 = 0; __pyx_t_55 = 0; __pyx_t_2 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_54 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_55)) )))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_56 = 1; __pyx_t_57 = 0; __pyx_t_25 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_56 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_57)) )))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_25); __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0516: else:
+0517: for ii in range(0,NP-1):
__Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L1_error)) /*else*/ { __pyx_t_12 = (__pyx_v_NP - 1); __pyx_t_13 = __pyx_t_12; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_13; __pyx_t_7+=1) { __pyx_v_ii = __pyx_t_7;
+0518: v0, v1 = VPoly[0,ii+1]-VPoly[0,ii], VPoly[1,ii+1]-VPoly[1,ii]
__Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error)) __pyx_t_58 = 0; __pyx_t_59 = (__pyx_v_ii + 1); __pyx_t_60 = 0; __pyx_t_61 = __pyx_v_ii; __pyx_t_18 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_58 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_59)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_60 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_61)) )))); __pyx_t_62 = 1; __pyx_t_63 = (__pyx_v_ii + 1); __pyx_t_64 = 1; __pyx_t_65 = __pyx_v_ii; __pyx_t_23 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_62 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_63)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_64 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_65)) )))); __pyx_v_v0 = __pyx_t_18; __pyx_v_v1 = __pyx_t_23;
+0519: LMinMax[1] = Csqrt(v0**2 + v1**2)
__Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L1_error)) __pyx_t_66 = 1; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_66)) )) = sqrt((pow(__pyx_v_v0, 2.0) + pow(__pyx_v_v1, 2.0)));
+0520: L, dlr, indL, N[ii] = _Ves_mesh_dlfromL_cython(LMinMax, dL, dLMode=dLMode, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_25 = __pyx_memoryview_fromslice(__pyx_v_LMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); __pyx_t_25 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dLMode, __pyx_v_dLMode) < 0) __PYX_ERR(0, 520, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 520, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 520, __pyx_L1_error) __pyx_t_25 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_25) < 0) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_25))) || (PyList_CheckExact(__pyx_t_25))) { PyObject* sequence = __pyx_t_25; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 520, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_4 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_1,&__pyx_t_3,&__pyx_t_4}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_1,&__pyx_t_3,&__pyx_t_4}; __pyx_t_26 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_27 = Py_TYPE(__pyx_t_26)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_27(__pyx_t_26); if (unlikely(!item)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_27(__pyx_t_26), 4) < 0) __PYX_ERR(0, 520, __pyx_L1_error) __pyx_t_27 = NULL; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_27 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 520, __pyx_L1_error) __pyx_L13_unpacking_done:; } __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_28 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_28.memview)) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_29 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_29 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_L, 1); __pyx_v_L = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; __pyx_v_dlr = __pyx_t_23; __PYX_XDEC_MEMVIEW(&__pyx_v_indL, 1); __pyx_v_indL = __pyx_t_28; __pyx_t_28.memview = NULL; __pyx_t_28.data = NULL; __pyx_t_67 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(long *, __pyx_pybuffernd_N.rcbuffer->pybuffer.buf, __pyx_t_67, __pyx_pybuffernd_N.diminfo[0].strides) = __pyx_t_29;
+0521: VPolybis.append((VPoly[0,ii],VPoly[1,ii]))
__Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error)) __pyx_t_68 = 0; __pyx_t_69 = __pyx_v_ii; __pyx_t_25 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_68 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_69)) )))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_70 = 1; __pyx_t_71 = __pyx_v_ii; __pyx_t_4 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_70 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_71)) )))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_25 = 0; __pyx_t_4 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0522: v0, v1 = v0/LMinMax[1], v1/LMinMax[1]
__Pyx_TraceLine(522,0,__PYX_ERR(0, 522, __pyx_L1_error)) __pyx_t_72 = 1; __pyx_t_23 = (__pyx_v_v0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_72)) )))); __pyx_t_73 = 1; __pyx_t_18 = (__pyx_v_v1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_73)) )))); __pyx_v_v0 = __pyx_t_23; __pyx_v_v1 = __pyx_t_18;
+0523: for jj in range(0,N[ii]):
__Pyx_TraceLine(523,0,__PYX_ERR(0, 523, __pyx_L1_error)) __pyx_t_74 = __pyx_v_ii; __pyx_t_29 = (*__Pyx_BufPtrStrided1d(long *, __pyx_pybuffernd_N.rcbuffer->pybuffer.buf, __pyx_t_74, __pyx_pybuffernd_N.diminfo[0].strides)); __pyx_t_39 = __pyx_t_29; for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) { __pyx_v_jj = __pyx_t_40;
+0524: LdLr.append(dlr)
__Pyx_TraceLine(524,0,__PYX_ERR(0, 524, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dlr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LdLr, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0525: LRref.append(VPoly[0,ii] + L[jj]*v0)
__Pyx_TraceLine(525,0,__PYX_ERR(0, 525, __pyx_L1_error)) __pyx_t_75 = 0; __pyx_t_76 = __pyx_v_ii; __pyx_t_77 = __pyx_v_jj; __pyx_t_3 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_75 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_76)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_77)) ))) * __pyx_v_v0))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LRref, __pyx_t_3); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0526: LPtsCross.append((VPoly[0,ii] + L[jj]*v0 + DIn*VIn[0,ii], VPoly[1,ii] + L[jj]*v1 + DIn*VIn[1,ii]))
__Pyx_TraceLine(526,0,__PYX_ERR(0, 526, __pyx_L1_error)) __pyx_t_78 = 0; __pyx_t_79 = __pyx_v_ii; __pyx_t_80 = __pyx_v_jj; __pyx_t_3 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_78 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_79)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_80)) ))) * __pyx_v_v0))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_v_VIn, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_t_25); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_81 = 1; __pyx_t_82 = __pyx_v_ii; __pyx_t_83 = __pyx_v_jj; __pyx_t_1 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_81 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_82)) ))) + ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_L.data) + __pyx_t_83)) ))) * __pyx_v_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_VIn, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_25 = 0; __pyx_t_4 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_LPtsCross, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0527: Lind.append(nn)
__Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_nn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_Lind, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0528: nn += 1
__Pyx_TraceLine(528,0,__PYX_ERR(0, 528, __pyx_L1_error)) __pyx_v_nn = (__pyx_v_nn + 1);
+0529: VPolybis.append((VPoly[0,ii] + jj*dlr*v0, VPoly[1,ii] + jj*dlr*v1))
__Pyx_TraceLine(529,0,__PYX_ERR(0, 529, __pyx_L1_error)) __pyx_t_84 = 0; __pyx_t_85 = __pyx_v_ii; __pyx_t_2 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_84 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_85)) ))) + ((__pyx_v_jj * __pyx_v_dlr) * __pyx_v_v0))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_86 = 1; __pyx_t_87 = __pyx_v_ii; __pyx_t_4 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_86 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_87)) ))) + ((__pyx_v_jj * __pyx_v_dlr) * __pyx_v_v1))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_25 = PyTuple_New(2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_25, 1, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_25); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } }
+0530: VPolybis.append((VPoly[0,0],VPoly[1,0]))
__Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L1_error)) __pyx_t_88 = 0; __pyx_t_89 = 0; __pyx_t_25 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_88 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_89)) )))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_90 = 1; __pyx_t_91 = 0; __pyx_t_4 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_90 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_91)) )))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_25 = 0; __pyx_t_4 = 0; __pyx_t_35 = __Pyx_PyList_Append(__pyx_v_VPolybis, __pyx_t_2); if (unlikely(__pyx_t_35 == ((int)-1))) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L3:;
0531:
+0532: PtsCross, dLr, ind, Rref = np.array(LPtsCross).T, np.array(LdLr), np.array(Lind,dtype=int), np.array(LRref)
__Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_25))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_25, __pyx_t_4, __pyx_v_LPtsCross) : __Pyx_PyObject_CallOneArg(__pyx_t_25, __pyx_v_LPtsCross); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_T); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_LdLr) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_LdLr); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_Lind); __Pyx_GIVEREF(__pyx_v_Lind); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_Lind); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 532, __pyx_L1_error) __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_26) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_26, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_LRref) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_LRref); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 532, __pyx_L1_error) __pyx_t_92 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_92, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_10, __pyx_t_9, __pyx_t_8); } __pyx_t_10 = __pyx_t_9 = __pyx_t_8 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 532, __pyx_L1_error) } __pyx_t_92 = 0; __pyx_v_PtsCross = ((PyArrayObject *)__pyx_t_25); __pyx_t_25 = 0; __pyx_t_93 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_93, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 532, __pyx_L1_error) } __pyx_t_93 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = ((PyArrayObject *)__pyx_t_26); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_10, __pyx_t_9, __pyx_t_8); } __pyx_t_10 = __pyx_t_9 = __pyx_t_8 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 532, __pyx_L1_error) } __pyx_t_6 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_26); __pyx_t_26 = 0; __pyx_t_93 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_93, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 532, __pyx_L1_error) } __pyx_t_93 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0533: if D1 is not None:
__Pyx_TraceLine(533,0,__PYX_ERR(0, 533, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_D1 != Py_None); __pyx_t_94 = (__pyx_t_11 != 0); if (__pyx_t_94) { /* … */ }
+0534: indin = (PtsCross[0,:]>=D1[0]) & (PtsCross[0,:]<=D1[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(534,0,__PYX_ERR(0, 534, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_26 = __Pyx_GetItemInt(__pyx_v_D1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_26, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_26 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__39); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_D1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_25 = PyObject_RichCompare(__pyx_t_26, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_And(__pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_v_indin = __pyx_t_3; __pyx_t_3 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+0535: PtsCross = PtsCross[:,indin]
__Pyx_TraceLine(535,0,__PYX_ERR(0, 535, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indin); __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_3); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 535, __pyx_L1_error) __pyx_t_92 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_92, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_10, __pyx_t_9, __pyx_t_8); } __pyx_t_10 = __pyx_t_9 = __pyx_t_8 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 535, __pyx_L1_error) } __pyx_t_92 = 0; __Pyx_DECREF_SET(__pyx_v_PtsCross, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0536: dLr, ind = dLr[indin], ind[indin]
__Pyx_TraceLine(536,0,__PYX_ERR(0, 536, __pyx_L1_error)) __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), __pyx_v_indin); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 536, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_indin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 536, __pyx_L1_error) __pyx_t_93 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_93, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 536, __pyx_L1_error) } __pyx_t_93 = 0; __Pyx_DECREF_SET(__pyx_v_dLr, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0; __pyx_t_6 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_10, __pyx_t_9, __pyx_t_8); } __pyx_t_10 = __pyx_t_9 = __pyx_t_8 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 536, __pyx_L1_error) } __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
+0537: if D2 is not None:
__Pyx_TraceLine(537,0,__PYX_ERR(0, 537, __pyx_L1_error)) __pyx_t_94 = (__pyx_v_D2 != Py_None); __pyx_t_11 = (__pyx_t_94 != 0); if (__pyx_t_11) { /* … */ }
+0538: indin = (PtsCross[1,:]>=D2[0]) & (PtsCross[1,:]<=D2[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_25 = __Pyx_GetItemInt(__pyx_v_D2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_25, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_D2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_26 = PyObject_RichCompare(__pyx_t_25, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_26); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_And(__pyx_t_2, __pyx_t_26); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF_SET(__pyx_v_indin, __pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+0539: PtsCross = PtsCross[:,indin]
__Pyx_TraceLine(539,0,__PYX_ERR(0, 539, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indin); __pyx_t_26 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_26) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_26, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 539, __pyx_L1_error) __pyx_t_92 = ((PyArrayObject *)__pyx_t_26); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_92, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 539, __pyx_L1_error) } __pyx_t_92 = 0; __Pyx_DECREF_SET(__pyx_v_PtsCross, ((PyArrayObject *)__pyx_t_26)); __pyx_t_26 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0540: dLr, ind = dLr[indin], ind[indin]
__Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error)) __pyx_t_26 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), __pyx_v_indin); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (!(likely(((__pyx_t_26) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_26, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 540, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_indin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 540, __pyx_L1_error) __pyx_t_93 = ((PyArrayObject *)__pyx_t_26); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_93, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_10, __pyx_t_9, __pyx_t_8); } __pyx_t_10 = __pyx_t_9 = __pyx_t_8 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 540, __pyx_L1_error) } __pyx_t_93 = 0; __Pyx_DECREF_SET(__pyx_v_dLr, ((PyArrayObject *)__pyx_t_26)); __pyx_t_26 = 0; __pyx_t_6 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_7 < 0)) { PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __pyx_t_8 = __pyx_t_9 = __pyx_t_10 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 540, __pyx_L1_error) } __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
0541:
+0542: return PtsCross, dLr, ind, N, Rref, np.array(VPolybis).T
__Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_np); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_26, __pyx_v_VPolybis) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_VPolybis); __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_T); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_PtsCross)); __Pyx_GIVEREF(((PyObject *)__pyx_v_PtsCross)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_PtsCross)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_v_ind)); __Pyx_INCREF(((PyObject *)__pyx_v_N)); __Pyx_GIVEREF(((PyObject *)__pyx_v_N)); PyTuple_SET_ITEM(__pyx_t_3, 3, ((PyObject *)__pyx_v_N)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_3, 4, ((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
0543:
0544:
0545:
0546:
0547:
0548:
0549:
0550:
0551:
0552:
0553:
0554:
0555:
0556:
0557:
0558:
0559:
0560:
0561:
0562:
0563:
0564:
0565:
0566:
0567: ########################################################
0568: ########################################################
0569: # Meshing - Volume - Tor
0570: ########################################################
0571:
0572:
0573: @cython.cdivision(True)
0574: @cython.wraparound(False)
0575: @cython.boundscheck(False)
+0576: def _Ves_Vmesh_Tor_SubFromD_cython(double dR, double dZ, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_23_Ves_Vmesh_Tor_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_22_Ves_Vmesh_Tor_SubFromD_cython[] = " Return the desired submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_23_Ves_Vmesh_Tor_SubFromD_cython = {"_Ves_Vmesh_Tor_SubFromD_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_23_Ves_Vmesh_Tor_SubFromD_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_22_Ves_Vmesh_Tor_SubFromD_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_23_Ves_Vmesh_Tor_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dR;
double __pyx_v_dZ;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_RMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ZMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_DR = 0;
PyObject *__pyx_v_DZ = 0;
PyObject *__pyx_v_DPhi = 0;
PyObject *__pyx_v_VPoly = 0;
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Tor_SubFromD_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dR,&__pyx_n_s_dZ,&__pyx_n_s_dRPhi,&__pyx_n_s_RMinMax,&__pyx_n_s_ZMinMax,&__pyx_n_s_DR,&__pyx_n_s_DZ,&__pyx_n_s_DPhi,&__pyx_n_s_VPoly,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_22_Ves_Vmesh_Tor_SubFromD_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dR, double __pyx_v_dZ, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_RMinMax, __Pyx_memviewslice __pyx_v_ZMinMax, PyObject *__pyx_v_DR, PyObject *__pyx_v_DZ, PyObject *__pyx_v_DPhi, PyObject *__pyx_v_VPoly, PyObject *__pyx_v_Out, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_R0 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_R = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Z = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dRPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED double __pyx_v_dRr0;
double __pyx_v_dRr;
double __pyx_v_dZr;
double __pyx_v_DPhi0;
double __pyx_v_DPhi1;
double __pyx_v_abs0;
double __pyx_v_abs1;
double __pyx_v_phi;
double __pyx_v_indiijj;
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indR0 = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indR = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indZ = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Phin = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi0 = { 0, 0, { 0 }, { 0 }, { 0 } };
int __pyx_v_NR0;
CYTHON_UNUSED int __pyx_v_NR;
int __pyx_v_NZ;
int __pyx_v_Rn;
int __pyx_v_Zn;
int __pyx_v_nRPhi0;
int __pyx_v_indR0ii;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_nPhi0;
int __pyx_v_nPhi1;
int __pyx_v_zz;
int __pyx_v_NP;
int __pyx_v_NRPhi_int;
int __pyx_v_Rratio;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_indI = 0;
PyArrayObject *__pyx_v_iii = 0;
PyArrayObject *__pyx_v_dV = 0;
PyArrayObject *__pyx_v_ind = 0;
CYTHON_UNUSED long __pyx_v_NPhimax;
PyObject *__pyx_v_indin = NULL;
PyObject *__pyx_v_Ru = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dV;
__Pyx_Buffer __pyx_pybuffer_dV;
__Pyx_LocalBuf_ND __pyx_pybuffernd_iii;
__Pyx_Buffer __pyx_pybuffer_iii;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indI;
__Pyx_Buffer __pyx_pybuffer_indI;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__46)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Tor_SubFromD_cython", 0);
__Pyx_TraceCall("_Ves_Vmesh_Tor_SubFromD_cython", __pyx_f[0], 576, 0, __PYX_ERR(0, 576, __pyx_L1_error));
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_indI.pybuffer.buf = NULL;
__pyx_pybuffer_indI.refcount = 0;
__pyx_pybuffernd_indI.data = NULL;
__pyx_pybuffernd_indI.rcbuffer = &__pyx_pybuffer_indI;
__pyx_pybuffer_iii.pybuffer.buf = NULL;
__pyx_pybuffer_iii.refcount = 0;
__pyx_pybuffernd_iii.data = NULL;
__pyx_pybuffernd_iii.rcbuffer = &__pyx_pybuffer_iii;
__pyx_pybuffer_dV.pybuffer.buf = NULL;
__pyx_pybuffer_dV.refcount = 0;
__pyx_pybuffernd_dV.data = NULL;
__pyx_pybuffernd_dV.rcbuffer = &__pyx_pybuffer_dV;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_18, 1);
__Pyx_XDECREF(__pyx_t_68);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Tor_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_R0, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_R, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Z, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dRPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indR0, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indR, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indZ, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Phin, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi0, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_indI);
__Pyx_XDECREF((PyObject *)__pyx_v_iii);
__Pyx_XDECREF((PyObject *)__pyx_v_dV);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_indin);
__Pyx_XDECREF(__pyx_v_Ru);
__PYX_XDEC_MEMVIEW(&__pyx_v_RMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ZMinMax, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__125 = PyTuple_Pack(54, __pyx_n_s_dR, __pyx_n_s_dZ, __pyx_n_s_dRPhi, __pyx_n_s_RMinMax, __pyx_n_s_ZMinMax, __pyx_n_s_DR, __pyx_n_s_DZ, __pyx_n_s_DPhi, __pyx_n_s_VPoly, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_R0, __pyx_n_s_R, __pyx_n_s_Z, __pyx_n_s_dRPhir, __pyx_n_s_dPhir, __pyx_n_s_NRPhi, __pyx_n_s_dRr0, __pyx_n_s_dRr, __pyx_n_s_dZr, __pyx_n_s_DPhi0, __pyx_n_s_DPhi1, __pyx_n_s_abs0, __pyx_n_s_abs1, __pyx_n_s_phi, __pyx_n_s_indiijj, __pyx_n_s_indR0, __pyx_n_s_indR, __pyx_n_s_indZ, __pyx_n_s_Phin, __pyx_n_s_NRPhi0, __pyx_n_s_NR0, __pyx_n_s_NR, __pyx_n_s_NZ, __pyx_n_s_Rn, __pyx_n_s_Zn, __pyx_n_s_nRPhi0, __pyx_n_s_indR0ii, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_nPhi0, __pyx_n_s_nPhi1, __pyx_n_s_zz, __pyx_n_s_NP, __pyx_n_s_NRPhi_int, __pyx_n_s_Rratio, __pyx_n_s_Pts, __pyx_n_s_indI, __pyx_n_s_iii, __pyx_n_s_dV, __pyx_n_s_ind, __pyx_n_s_NPhimax, __pyx_n_s_indin, __pyx_n_s_Ru); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__125);
__Pyx_GIVEREF(__pyx_tuple__125);
/* … */
__Pyx_TraceLine(576,0,__PYX_ERR(0, 576, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 3, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_4, 4, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_23_Ves_Vmesh_Tor_SubFromD_cython, 0, __pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython, __pyx_t_2) < 0) __PYX_ERR(0, 576, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(11, 0, 54, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Vmesh_Tor_SubFromD_cython, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 576, __pyx_L1_error)
0577: double[::1] RMinMax, double[::1] ZMinMax,
+0578: DR=None, DZ=None, DPhi=None, VPoly=None,
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dR)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dZ)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromD_cython", 0, 5, 11, 1); __PYX_ERR(0, 576, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromD_cython", 0, 5, 11, 2); __PYX_ERR(0, 576, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromD_cython", 0, 5, 11, 3); __PYX_ERR(0, 576, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ZMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromD_cython", 0, 5, 11, 4); __PYX_ERR(0, 576, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DR);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DZ);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DPhi);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[10] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Vmesh_Tor_SubFromD_cython") < 0)) __PYX_ERR(0, 576, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dR = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dR == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 576, __pyx_L3_error)
__pyx_v_dZ = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dZ == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 576, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 576, __pyx_L3_error)
__pyx_v_RMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_RMinMax.memview)) __PYX_ERR(0, 577, __pyx_L3_error)
__pyx_v_ZMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ZMinMax.memview)) __PYX_ERR(0, 577, __pyx_L3_error)
__pyx_v_DR = values[5];
__pyx_v_DZ = values[6];
__pyx_v_DPhi = values[7];
__pyx_v_VPoly = values[8];
__pyx_v_Out = ((PyObject*)values[9]);
if (values[10]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 579, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromD_cython", 0, 5, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 576, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Tor_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 579, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_22_Ves_Vmesh_Tor_SubFromD_cython(__pyx_self, __pyx_v_dR, __pyx_v_dZ, __pyx_v_dRPhi, __pyx_v_RMinMax, __pyx_v_ZMinMax, __pyx_v_DR, __pyx_v_DZ, __pyx_v_DPhi, __pyx_v_VPoly, __pyx_v_Out, __pyx_v_margin);
+0579: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
0580: " Return the desired submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) "
0581:
0582: cdef double[::1] R0, R, Z, dRPhir, dPhir, NRPhi#, dPhi, NRZPhi_cum0, indPhi, phi
0583: cdef double dRr0, dRr, dZr, DPhi0, DPhi1
0584: cdef double abs0, abs1, phi, indiijj
0585: cdef long[::1] indR0, indR, indZ, Phin, NRPhi0
0586: cdef int NR0, NR, NZ, Rn, Zn, nRPhi0, indR0ii, ii, jj, nPhi0, nPhi1, zz, NP, NRPhi_int, Rratio
0587: cdef cnp.ndarray[double,ndim=2] Pts, indI
0588: cdef cnp.ndarray[double,ndim=1] iii, dV, ind
0589:
0590: # Get the actual R and Z resolutions and mesh elements
+0591: R0, dRr0, indR0, NR0 = _Ves_mesh_dlfromL_cython(RMinMax, dR, None, Lim=True, margin=margin)
__Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_RMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 591, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_2) < 0) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 591, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 591, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 591, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_R0 = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dRr0 = __pyx_t_9; __pyx_v_indR0 = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_v_NR0 = __pyx_t_11;
+0592: R, dRr, indR, NR = _Ves_mesh_dlfromL_cython(RMinMax, dR, DR, Lim=True, margin=margin)
__Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_RMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_INCREF(__pyx_v_DR); __Pyx_GIVEREF(__pyx_v_DR); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_DR); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 592, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 592, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 592, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 592, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_R = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dRr = __pyx_t_9; __pyx_v_indR = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_v_NR = __pyx_t_11;
+0593: Z, dZr, indZ, NZ = _Ves_mesh_dlfromL_cython(ZMinMax, dZ, DZ, Lim=True, margin=margin)
__Pyx_TraceLine(593,0,__PYX_ERR(0, 593, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_ZMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZ); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_INCREF(__pyx_v_DZ); __Pyx_GIVEREF(__pyx_v_DZ); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_DZ); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 593, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 593, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_1 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 593, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 593, __pyx_L1_error) __pyx_L8_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Z = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dZr = __pyx_t_9; __pyx_v_indZ = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_v_NZ = __pyx_t_11;
+0594: Rn = len(R)
__Pyx_TraceLine(594,0,__PYX_ERR(0, 594, __pyx_L1_error)) __pyx_t_12 = __Pyx_MemoryView_Len(__pyx_v_R); __pyx_v_Rn = __pyx_t_12;
+0595: Zn = len(Z)
__Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error)) __pyx_t_12 = __Pyx_MemoryView_Len(__pyx_v_Z); __pyx_v_Zn = __pyx_t_12;
0596:
0597: # Get the limits if any (and make sure to replace them in the proper quadrants)
+0598: if DPhi is None:
__Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L1_error)) __pyx_t_13 = (__pyx_v_DPhi == Py_None); __pyx_t_14 = (__pyx_t_13 != 0); if (__pyx_t_14) { /* … */ goto __pyx_L9; }
+0599: DPhi0, DPhi1 = -Cpi, Cpi
__Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L1_error)) __pyx_t_9 = (-M_PI); __pyx_t_15 = M_PI; __pyx_v_DPhi0 = __pyx_t_9; __pyx_v_DPhi1 = __pyx_t_15;
0600: else:
+0601: DPhi0, DPhi1 = Catan2(Csin(DPhi[0]),Ccos(DPhi[0])), Catan2(Csin(DPhi[1]),Ccos(DPhi[1]))
__Pyx_TraceLine(601,0,__PYX_ERR(0, 601, __pyx_L1_error)) /*else*/ { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = atan2(sin(__pyx_t_15), cos(__pyx_t_9)); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_17 = atan2(sin(__pyx_t_9), cos(__pyx_t_15)); __pyx_v_DPhi0 = __pyx_t_16; __pyx_v_DPhi1 = __pyx_t_17; } __pyx_L9:;
0602:
+0603: dRPhir, dPhir = np.empty((Rn,)), np.empty((Rn,))
__Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_dRPhir = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dPhir = __pyx_t_18; __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL;
+0604: Phin = np.empty((Rn,),dtype=int)
__Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 604, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_Phin = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+0605: NRPhi = np.empty((Rn,))
__Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_NRPhi = __pyx_t_18; __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL;
+0606: NRPhi0 = np.zeros((Rn,),dtype=int)
__Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 606, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_NRPhi0 = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+0607: nRPhi0, indR0ii = 0, 0
__Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L1_error)) __pyx_t_11 = 0; __pyx_t_19 = 0; __pyx_v_nRPhi0 = __pyx_t_11; __pyx_v_indR0ii = __pyx_t_19;
+0608: NP, NPhimax = 0, 0
__Pyx_TraceLine(608,0,__PYX_ERR(0, 608, __pyx_L1_error)) __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_v_NP = __pyx_t_19; __pyx_v_NPhimax = __pyx_t_20;
+0609: Rratio = int(Cceil(R[Rn-1]/R[0]))
__Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L1_error)) __pyx_t_21 = (__pyx_v_Rn - 1); __pyx_t_22 = 0; __pyx_v_Rratio = ((int)ceil(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_21)) ))) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_22)) ))))));
+0610: for ii in range(0,Rn):
__Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L1_error)) __pyx_t_19 = __pyx_v_Rn; __pyx_t_11 = __pyx_t_19; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_11; __pyx_t_23+=1) { __pyx_v_ii = __pyx_t_23;
0611: # Get the actual RPhi resolution and Phi mesh elements (! depends on R !)
+0612: NRPhi[ii] = Cceil(2.*Cpi*R[ii]/dRPhi)
__Pyx_TraceLine(612,0,__PYX_ERR(0, 612, __pyx_L1_error)) __pyx_t_24 = __pyx_v_ii; __pyx_t_25 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_25)) )) = ceil((((2. * M_PI) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_24)) )))) / __pyx_v_dRPhi));
+0613: NRPhi_int = int(NRPhi[ii])
__Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L1_error)) __pyx_t_26 = __pyx_v_ii; __pyx_v_NRPhi_int = ((int)(*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_26)) ))));
+0614: dPhir[ii] = 2.*Cpi/NRPhi[ii]
__Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L1_error)) __pyx_t_27 = __pyx_v_ii; __pyx_t_28 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_28)) )) = ((2. * M_PI) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_27)) ))));
+0615: dRPhir[ii] = dPhir[ii]*R[ii]
__Pyx_TraceLine(615,0,__PYX_ERR(0, 615, __pyx_L1_error)) __pyx_t_29 = __pyx_v_ii; __pyx_t_30 = __pyx_v_ii; __pyx_t_31 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_31)) )) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_29)) ))) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_30)) ))));
0616: # Get index and cumulated indices from background
+0617: for jj in range(indR0ii,NR0):
__Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L1_error)) __pyx_t_32 = __pyx_v_NR0; __pyx_t_33 = __pyx_t_32; for (__pyx_t_34 = __pyx_v_indR0ii; __pyx_t_34 < __pyx_t_33; __pyx_t_34+=1) { __pyx_v_jj = __pyx_t_34;
+0618: if R0[jj]==R[ii]:
__Pyx_TraceLine(618,0,__PYX_ERR(0, 618, __pyx_L1_error)) __pyx_t_35 = __pyx_v_jj; __pyx_t_36 = __pyx_v_ii; __pyx_t_14 = (((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R0.data) + __pyx_t_35)) ))) == (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_36)) )))) != 0); if (__pyx_t_14) { /* … */ }
+0619: indR0ii = jj
__Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L1_error)) __pyx_v_indR0ii = __pyx_v_jj;
+0620: break
__Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L1_error)) goto __pyx_L13_break;
0621: else:
+0622: nRPhi0 += <long>Cceil(2.*Cpi*R0[jj]/dRPhi)
__Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L1_error)) /*else*/ { __pyx_t_37 = __pyx_v_jj; __pyx_v_nRPhi0 = (__pyx_v_nRPhi0 + ((long)ceil((((2. * M_PI) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R0.data) + __pyx_t_37)) )))) / __pyx_v_dRPhi))));
+0623: NRPhi0[ii] = nRPhi0*NZ
__Pyx_TraceLine(623,0,__PYX_ERR(0, 623, __pyx_L1_error)) __pyx_t_38 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_38)) )) = (__pyx_v_nRPhi0 * __pyx_v_NZ); } } __pyx_L13_break:;
0624: # Get indices of phi
0625: # Get the extreme indices of the mesh elements that really need to be created within those limits
+0626: abs0 = Cabs(DPhi0+Cpi)
__Pyx_TraceLine(626,0,__PYX_ERR(0, 626, __pyx_L1_error)) __pyx_v_abs0 = fabs((__pyx_v_DPhi0 + M_PI));
+0627: if abs0-dPhir[ii]*Cfloor(abs0/dPhir[ii])<margin*dPhir[ii]:
__Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L1_error)) __pyx_t_39 = __pyx_v_ii; __pyx_t_40 = __pyx_v_ii; __pyx_t_41 = __pyx_v_ii; __pyx_t_14 = (((__pyx_v_abs0 - ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_39)) ))) * floor((__pyx_v_abs0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_40)) ))))))) < (__pyx_v_margin * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_41)) ))))) != 0); if (__pyx_t_14) { /* … */ goto __pyx_L15; }
+0628: nPhi0 = int(Cround((DPhi0+Cpi)/dPhir[ii]))
__Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L1_error)) __pyx_t_42 = __pyx_v_ii; __pyx_v_nPhi0 = ((int)round(((__pyx_v_DPhi0 + M_PI) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_42)) ))))));
0629: else:
+0630: nPhi0 = int(Cfloor((DPhi0+Cpi)/dPhir[ii]))
__Pyx_TraceLine(630,0,__PYX_ERR(0, 630, __pyx_L1_error)) /*else*/ { __pyx_t_43 = __pyx_v_ii; __pyx_v_nPhi0 = ((int)floor(((__pyx_v_DPhi0 + M_PI) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_43)) )))))); } __pyx_L15:;
+0631: abs1 = Cabs(DPhi1+Cpi)
__Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L1_error)) __pyx_v_abs1 = fabs((__pyx_v_DPhi1 + M_PI));
+0632: if abs1-dPhir[ii]*Cfloor(abs1/dPhir[ii])<margin*dPhir[ii]:
__Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L1_error)) __pyx_t_44 = __pyx_v_ii; __pyx_t_45 = __pyx_v_ii; __pyx_t_46 = __pyx_v_ii; __pyx_t_14 = (((__pyx_v_abs1 - ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_44)) ))) * floor((__pyx_v_abs1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_45)) ))))))) < (__pyx_v_margin * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_46)) ))))) != 0); if (__pyx_t_14) { /* … */ goto __pyx_L16; }
+0633: nPhi1 = int(Cround((DPhi1+Cpi)/dPhir[ii])-1)
__Pyx_TraceLine(633,0,__PYX_ERR(0, 633, __pyx_L1_error)) __pyx_t_47 = __pyx_v_ii; __pyx_v_nPhi1 = ((int)(round(((__pyx_v_DPhi1 + M_PI) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_47)) ))))) - 1.0));
0634: else:
+0635: nPhi1 = int(Cfloor((DPhi1+Cpi)/dPhir[ii]))
__Pyx_TraceLine(635,0,__PYX_ERR(0, 635, __pyx_L1_error)) /*else*/ { __pyx_t_48 = __pyx_v_ii; __pyx_v_nPhi1 = ((int)floor(((__pyx_v_DPhi1 + M_PI) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_48)) )))))); } __pyx_L16:;
0636:
+0637: if DPhi0<DPhi1:
__Pyx_TraceLine(637,0,__PYX_ERR(0, 637, __pyx_L1_error)) __pyx_t_14 = ((__pyx_v_DPhi0 < __pyx_v_DPhi1) != 0); if (__pyx_t_14) { /* … */ goto __pyx_L17; }
0638: #indI.append(list(range(nPhi0,nPhi1+1)))
+0639: Phin[ii] = nPhi1+1-nPhi0
__Pyx_TraceLine(639,0,__PYX_ERR(0, 639, __pyx_L1_error)) __pyx_t_49 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_49)) )) = ((__pyx_v_nPhi1 + 1) - __pyx_v_nPhi0);
+0640: if ii==0:
__Pyx_TraceLine(640,0,__PYX_ERR(0, 640, __pyx_L1_error)) __pyx_t_14 = ((__pyx_v_ii == 0) != 0); if (__pyx_t_14) { /* … */ }
+0641: indI = np.nan*np.ones((Rn,Phin[ii]*Rratio+1))
__Pyx_TraceLine(641,0,__PYX_ERR(0, 641, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_50 = __pyx_v_ii; __pyx_t_2 = __Pyx_PyInt_From_long((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_50)) ))) * __pyx_v_Rratio) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 641, __pyx_L1_error) __pyx_t_51 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_t_51, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_v_indI, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_indI.diminfo[0].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indI.diminfo[0].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_indI.diminfo[1].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_indI.diminfo[1].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 641, __pyx_L1_error) } __pyx_t_51 = 0; __Pyx_XDECREF_SET(__pyx_v_indI, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
+0642: for jj in range(0,Phin[ii]):
__Pyx_TraceLine(642,0,__PYX_ERR(0, 642, __pyx_L1_error)) __pyx_t_55 = __pyx_v_ii; __pyx_t_20 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_55)) ))); __pyx_t_56 = __pyx_t_20; for (__pyx_t_32 = 0; __pyx_t_32 < __pyx_t_56; __pyx_t_32+=1) { __pyx_v_jj = __pyx_t_32;
+0643: indI[ii,jj] = <double>( nPhi0+jj )
__Pyx_TraceLine(643,0,__PYX_ERR(0, 643, __pyx_L1_error)) __pyx_t_57 = __pyx_v_ii; __pyx_t_58 = __pyx_v_jj; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_indI.rcbuffer->pybuffer.buf, __pyx_t_57, __pyx_pybuffernd_indI.diminfo[0].strides, __pyx_t_58, __pyx_pybuffernd_indI.diminfo[1].strides) = ((double)(__pyx_v_nPhi0 + __pyx_v_jj)); }
0644: else:
0645: #indI.append(list(range(nPhi0,NRPhi_int)+list(range(0,nPhi1+1))))
+0646: Phin[ii] = nPhi1+1+NRPhi_int-nPhi0
__Pyx_TraceLine(646,0,__PYX_ERR(0, 646, __pyx_L1_error)) /*else*/ { __pyx_t_59 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_59)) )) = (((__pyx_v_nPhi1 + 1) + __pyx_v_NRPhi_int) - __pyx_v_nPhi0);
+0647: if ii==0:
__Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L1_error)) __pyx_t_14 = ((__pyx_v_ii == 0) != 0); if (__pyx_t_14) { /* … */ }
+0648: indI = np.nan*np.ones((Rn,Phin[ii]*Rratio+1))
__Pyx_TraceLine(648,0,__PYX_ERR(0, 648, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_nan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ones); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Rn); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_60 = __pyx_v_ii; __pyx_t_2 = __Pyx_PyInt_From_long((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_60)) ))) * __pyx_v_Rratio) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 648, __pyx_L1_error) __pyx_t_51 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_t_51, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_v_indI, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_indI.diminfo[0].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indI.diminfo[0].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_indI.diminfo[1].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_indI.diminfo[1].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 648, __pyx_L1_error) } __pyx_t_51 = 0; __Pyx_XDECREF_SET(__pyx_v_indI, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+0649: for jj in range(0,NRPhi_int-nPhi0):
__Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L1_error)) __pyx_t_32 = (__pyx_v_NRPhi_int - __pyx_v_nPhi0); __pyx_t_33 = __pyx_t_32; for (__pyx_t_34 = 0; __pyx_t_34 < __pyx_t_33; __pyx_t_34+=1) { __pyx_v_jj = __pyx_t_34;
+0650: indI[ii,jj] = <double>( nPhi0+jj )
__Pyx_TraceLine(650,0,__PYX_ERR(0, 650, __pyx_L1_error)) __pyx_t_61 = __pyx_v_ii; __pyx_t_62 = __pyx_v_jj; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_indI.rcbuffer->pybuffer.buf, __pyx_t_61, __pyx_pybuffernd_indI.diminfo[0].strides, __pyx_t_62, __pyx_pybuffernd_indI.diminfo[1].strides) = ((double)(__pyx_v_nPhi0 + __pyx_v_jj)); }
+0651: for jj in range(NRPhi_int-nPhi0,Phin[ii]):
__Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error)) __pyx_t_63 = __pyx_v_ii; __pyx_t_20 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_63)) ))); __pyx_t_56 = __pyx_t_20; for (__pyx_t_32 = (__pyx_v_NRPhi_int - __pyx_v_nPhi0); __pyx_t_32 < __pyx_t_56; __pyx_t_32+=1) { __pyx_v_jj = __pyx_t_32;
+0652: indI[ii,jj] = <double>( jj- (NRPhi_int-nPhi0) )
__Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L1_error)) __pyx_t_64 = __pyx_v_ii; __pyx_t_65 = __pyx_v_jj; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_indI.rcbuffer->pybuffer.buf, __pyx_t_64, __pyx_pybuffernd_indI.diminfo[0].strides, __pyx_t_65, __pyx_pybuffernd_indI.diminfo[1].strides) = ((double)(__pyx_v_jj - (__pyx_v_NRPhi_int - __pyx_v_nPhi0))); } } __pyx_L17:;
+0653: NP += Zn*Phin[ii]
__Pyx_TraceLine(653,0,__PYX_ERR(0, 653, __pyx_L1_error)) __pyx_t_66 = __pyx_v_ii; __pyx_v_NP = (__pyx_v_NP + (__pyx_v_Zn * (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_66)) ))))); }
0654:
+0655: Pts = np.empty((3,NP))
__Pyx_TraceLine(655,0,__PYX_ERR(0, 655, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 655, __pyx_L1_error) __pyx_t_51 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_51, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 655, __pyx_L1_error) } __pyx_t_51 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
+0656: ind = np.empty((NP,))
__Pyx_TraceLine(656,0,__PYX_ERR(0, 656, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 656, __pyx_L1_error) __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 656, __pyx_L1_error) } __pyx_t_67 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
+0657: dV = np.empty((NP,))
__Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 657, __pyx_L1_error) __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_v_dV, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_dV.diminfo[0].strides = __pyx_pybuffernd_dV.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dV.diminfo[0].shape = __pyx_pybuffernd_dV.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 657, __pyx_L1_error) } __pyx_t_67 = 0; __pyx_v_dV = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
0658: # Compute Pts, dV and ind
0659: # This triple loop is the longest part, it takes ~90% of the CPU time
+0660: NP = 0
__Pyx_TraceLine(660,0,__PYX_ERR(0, 660, __pyx_L1_error)) __pyx_v_NP = 0;
+0661: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L1_error)) __pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L26; }
+0662: for ii in range(0,Rn):
__Pyx_TraceLine(662,0,__PYX_ERR(0, 662, __pyx_L1_error)) __pyx_t_19 = __pyx_v_Rn; __pyx_t_11 = __pyx_t_19; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_11; __pyx_t_23+=1) { __pyx_v_ii = __pyx_t_23;
+0663: iii = np.sort(indI[ii,~np.isnan(indI[ii,:])]) # To make sure the indices are in increasing order
__Pyx_TraceLine(663,0,__PYX_ERR(0, 663, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sort); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_68 = PyTuple_New(2); if (unlikely(!__pyx_t_68)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_68); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_68, 0, __pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_68, 1, __pyx_slice__9); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_68); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_68); __pyx_t_68 = 0; __pyx_t_68 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_68 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_68)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_68); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_68) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_68, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_68); __pyx_t_68 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Invert(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 663, __pyx_L1_error) __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_v_iii, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_iii.diminfo[0].strides = __pyx_pybuffernd_iii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iii.diminfo[0].shape = __pyx_pybuffernd_iii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 663, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_XDECREF_SET(__pyx_v_iii, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0664: for zz in range(0,Zn):
__Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L1_error)) __pyx_t_32 = __pyx_v_Zn; __pyx_t_33 = __pyx_t_32; for (__pyx_t_34 = 0; __pyx_t_34 < __pyx_t_33; __pyx_t_34+=1) { __pyx_v_zz = __pyx_t_34;
+0665: for jj in range(0,Phin[ii]):
__Pyx_TraceLine(665,0,__PYX_ERR(0, 665, __pyx_L1_error)) __pyx_t_69 = __pyx_v_ii; __pyx_t_20 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_69)) ))); __pyx_t_56 = __pyx_t_20; for (__pyx_t_70 = 0; __pyx_t_70 < __pyx_t_56; __pyx_t_70+=1) { __pyx_v_jj = __pyx_t_70;
+0666: indiijj = iii[jj]
__Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L1_error)) __pyx_t_71 = __pyx_v_jj; __pyx_v_indiijj = (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_iii.rcbuffer->pybuffer.buf, __pyx_t_71, __pyx_pybuffernd_iii.diminfo[0].strides));
+0667: phi = -Cpi + (0.5+indiijj)*dPhir[ii]
__Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L1_error)) __pyx_t_72 = __pyx_v_ii; __pyx_v_phi = ((-M_PI) + ((0.5 + __pyx_v_indiijj) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_72)) )))));
+0668: Pts[0,NP] = R[ii]*Ccos(phi)
__Pyx_TraceLine(668,0,__PYX_ERR(0, 668, __pyx_L1_error)) __pyx_t_73 = __pyx_v_ii; __pyx_t_74 = 0; __pyx_t_75 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_74, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_75, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_73)) ))) * cos(__pyx_v_phi));
+0669: Pts[1,NP] = R[ii]*Csin(phi)
__Pyx_TraceLine(669,0,__PYX_ERR(0, 669, __pyx_L1_error)) __pyx_t_76 = __pyx_v_ii; __pyx_t_77 = 1; __pyx_t_78 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_77, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_78, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_76)) ))) * sin(__pyx_v_phi));
+0670: Pts[2,NP] = Z[zz]
__Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L1_error)) __pyx_t_79 = __pyx_v_zz; __pyx_t_80 = 2; __pyx_t_81 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_80, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_81, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Z.data) + __pyx_t_79)) )));
+0671: ind[NP] = NRPhi0[ii] + indZ[zz]*NRPhi[ii] + indiijj
__Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L1_error)) __pyx_t_82 = __pyx_v_ii; __pyx_t_83 = __pyx_v_zz; __pyx_t_84 = __pyx_v_ii; __pyx_t_85 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ind.rcbuffer->pybuffer.buf, __pyx_t_85, __pyx_pybuffernd_ind.diminfo[0].strides) = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_82)) ))) + ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_indZ.data) + __pyx_t_83)) ))) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_84)) ))))) + __pyx_v_indiijj);
+0672: dV[NP] = dRr*dZr*dRPhir[ii]
__Pyx_TraceLine(672,0,__PYX_ERR(0, 672, __pyx_L1_error)) __pyx_t_86 = __pyx_v_ii; __pyx_t_87 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dV.rcbuffer->pybuffer.buf, __pyx_t_87, __pyx_pybuffernd_dV.diminfo[0].strides) = ((__pyx_v_dRr * __pyx_v_dZr) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_86)) ))));
+0673: NP += 1
__Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L1_error)) __pyx_v_NP = (__pyx_v_NP + 1); } } }
0674: else:
+0675: for ii in range(0,Rn):
__Pyx_TraceLine(675,0,__PYX_ERR(0, 675, __pyx_L1_error)) /*else*/ { __pyx_t_19 = __pyx_v_Rn; __pyx_t_11 = __pyx_t_19; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_11; __pyx_t_23+=1) { __pyx_v_ii = __pyx_t_23;
+0676: iii = np.sort(indI[ii,~np.isnan(indI[ii,:])])
__Pyx_TraceLine(676,0,__PYX_ERR(0, 676, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sort); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_isnan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_68 = PyTuple_New(2); if (unlikely(!__pyx_t_68)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_68); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_68, 0, __pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_68, 1, __pyx_slice__9); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_68); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_68); __pyx_t_68 = 0; __pyx_t_68 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_68 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_68)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_68); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_5 = (__pyx_t_68) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_68, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_68); __pyx_t_68 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Invert(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 676, __pyx_L1_error) __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_v_iii, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_iii.diminfo[0].strides = __pyx_pybuffernd_iii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iii.diminfo[0].shape = __pyx_pybuffernd_iii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 676, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_XDECREF_SET(__pyx_v_iii, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
0677: #assert iii.size==Phin[ii] and np.all(np.unique(iii)==iii)
+0678: for zz in range(0,Zn):
__Pyx_TraceLine(678,0,__PYX_ERR(0, 678, __pyx_L1_error)) __pyx_t_32 = __pyx_v_Zn; __pyx_t_33 = __pyx_t_32; for (__pyx_t_34 = 0; __pyx_t_34 < __pyx_t_33; __pyx_t_34+=1) { __pyx_v_zz = __pyx_t_34;
+0679: for jj in range(0,Phin[ii]):
__Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L1_error)) __pyx_t_88 = __pyx_v_ii; __pyx_t_20 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_88)) ))); __pyx_t_56 = __pyx_t_20; for (__pyx_t_70 = 0; __pyx_t_70 < __pyx_t_56; __pyx_t_70+=1) { __pyx_v_jj = __pyx_t_70;
+0680: indiijj = iii[jj] #indI[ii,iii[jj]]
__Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L1_error)) __pyx_t_89 = __pyx_v_jj; __pyx_v_indiijj = (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_iii.rcbuffer->pybuffer.buf, __pyx_t_89, __pyx_pybuffernd_iii.diminfo[0].strides));
+0681: Pts[0,NP] = R[ii]
__Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L1_error)) __pyx_t_90 = __pyx_v_ii; __pyx_t_91 = 0; __pyx_t_92 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_91, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_92, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_90)) )));
+0682: Pts[1,NP] = Z[zz]
__Pyx_TraceLine(682,0,__PYX_ERR(0, 682, __pyx_L1_error)) __pyx_t_93 = __pyx_v_zz; __pyx_t_94 = 1; __pyx_t_95 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_94, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_95, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Z.data) + __pyx_t_93)) )));
+0683: Pts[2,NP] = -Cpi + (0.5+indiijj)*dPhir[ii]
__Pyx_TraceLine(683,0,__PYX_ERR(0, 683, __pyx_L1_error)) __pyx_t_96 = __pyx_v_ii; __pyx_t_97 = 2; __pyx_t_98 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_97, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_98, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((-M_PI) + ((0.5 + __pyx_v_indiijj) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_96)) )))));
+0684: ind[NP] = NRPhi0[ii] + indZ[zz]*NRPhi[ii] + indiijj
__Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L1_error)) __pyx_t_99 = __pyx_v_ii; __pyx_t_100 = __pyx_v_zz; __pyx_t_101 = __pyx_v_ii; __pyx_t_102 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ind.rcbuffer->pybuffer.buf, __pyx_t_102, __pyx_pybuffernd_ind.diminfo[0].strides) = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_99)) ))) + ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_indZ.data) + __pyx_t_100)) ))) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_101)) ))))) + __pyx_v_indiijj);
+0685: dV[NP] = dRr*dZr*dRPhir[ii]
__Pyx_TraceLine(685,0,__PYX_ERR(0, 685, __pyx_L1_error)) __pyx_t_103 = __pyx_v_ii; __pyx_t_104 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dV.rcbuffer->pybuffer.buf, __pyx_t_104, __pyx_pybuffernd_dV.diminfo[0].strides) = ((__pyx_v_dRr * __pyx_v_dZr) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_103)) ))));
+0686: NP += 1
__Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L1_error)) __pyx_v_NP = (__pyx_v_NP + 1); } } } } __pyx_L26:;
0687:
+0688: if VPoly is not None:
__Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L1_error)) __pyx_t_14 = (__pyx_v_VPoly != Py_None); __pyx_t_13 = (__pyx_t_14 != 0); if (__pyx_t_13) { /* … */ }
+0689: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(689,0,__PYX_ERR(0, 689, __pyx_L1_error)) __pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 689, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_13) { /* … */ goto __pyx_L40; }
+0690: R = np.hypot(Pts[0,:],Pts[1,:])
__Pyx_TraceLine(690,0,__PYX_ERR(0, 690, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_hypot); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__39); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__45); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_19 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_19 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_4, __pyx_t_5}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_4, __pyx_t_5}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_19); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_19, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_19, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_6, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_R, 1); __pyx_v_R = __pyx_t_18; __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+0691: indin = Path(VPoly.T).contains_points(np.array([R,Pts[2,:]]).T, transform=None, radius=0.0)
__Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_R, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__35); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_T); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 691, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 691, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_indin = __pyx_t_1; __pyx_t_1 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
+0692: Pts, dV, ind = Pts[:,indin], dV[indin], ind[indin]
__Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L1_error)) __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_indin); __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 692, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dV), __pyx_v_indin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 692, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_indin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 692, __pyx_L1_error) __pyx_t_51 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_51, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 692, __pyx_L1_error) } __pyx_t_51 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_67 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_v_dV, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_dV.diminfo[0].strides = __pyx_pybuffernd_dV.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dV.diminfo[0].shape = __pyx_pybuffernd_dV.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 692, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_DECREF_SET(__pyx_v_dV, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 692, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0693: Ru = np.unique(R)
__Pyx_TraceLine(693,0,__PYX_ERR(0, 693, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unique); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_R, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_Ru = __pyx_t_6; __pyx_t_6 = 0;
0694: else:
+0695: indin = Path(VPoly.T).contains_points(Pts[:-1,:].T, transform=None, radius=0.0)
__Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__22 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__22)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__22); __Pyx_GIVEREF(__pyx_slice__22); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__47); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_T); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 695, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 695, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_indin = __pyx_t_2; __pyx_t_2 = 0; __pyx_tuple__47 = PyTuple_Pack(2, __pyx_slice__22, __pyx_slice__9); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47);
+0696: Pts, dV, ind = Pts[:,indin], dV[indin], ind[indin]
__Pyx_TraceLine(696,0,__PYX_ERR(0, 696, __pyx_L1_error)) __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_indin); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 696, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dV), __pyx_v_indin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 696, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_indin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 696, __pyx_L1_error) __pyx_t_51 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_51, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 696, __pyx_L1_error) } __pyx_t_51 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_67 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_54, &__pyx_t_53, &__pyx_t_52); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_v_dV, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_54); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_52); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_54, __pyx_t_53, __pyx_t_52); } __pyx_t_54 = __pyx_t_53 = __pyx_t_52 = 0; } __pyx_pybuffernd_dV.diminfo[0].strides = __pyx_pybuffernd_dV.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dV.diminfo[0].shape = __pyx_pybuffernd_dV.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 696, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_DECREF_SET(__pyx_v_dV, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_67 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_67, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_52, &__pyx_t_53, &__pyx_t_54); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_52); Py_XDECREF(__pyx_t_53); Py_XDECREF(__pyx_t_54); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_52, __pyx_t_53, __pyx_t_54); } __pyx_t_52 = __pyx_t_53 = __pyx_t_54 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 696, __pyx_L1_error) } __pyx_t_67 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0697: Ru = np.unique(Pts[0,:])
__Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unique); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__39); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Ru = __pyx_t_6; __pyx_t_6 = 0; } __pyx_L40:; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+0698: if not np.all(Ru==R):
__Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_all); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_R, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_RichCompare(__pyx_v_Ru, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_14 = ((!__pyx_t_13) != 0); if (__pyx_t_14) { /* … */ }
+0699: dRPhir = np.array([dRPhir[ii] for ii in range(0,len(R)) if R[ii] in Ru])
__Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_MemoryView_Len(__pyx_v_R); __pyx_t_105 = __pyx_t_12; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_105; __pyx_t_19+=1) { __pyx_v_ii = __pyx_t_19; __pyx_t_106 = __pyx_v_ii; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_106)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_Ru, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = (__pyx_t_14 != 0); if (__pyx_t_13) { __pyx_t_107 = __pyx_v_ii; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_107)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } } __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_6, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_dRPhir, 1); __pyx_v_dRPhir = __pyx_t_18; __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL;
+0700: return Pts, dV, ind.astype(int), dRr, dZr, np.asarray(dRPhir)
__Pyx_TraceLine(700,0,__PYX_ERR(0, 700, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ind), __pyx_n_s_astype); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_5, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dRr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_asarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_v_dRPhir, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_68 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_68 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_68)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_68); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_68) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_68, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_68); __pyx_t_68 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dV)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dV)); PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dV)); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_t_1); __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
0701:
0702:
0703:
0704:
0705: @cython.cdivision(True)
0706: @cython.wraparound(False)
0707: @cython.boundscheck(False)
+0708: def _Ves_Vmesh_Tor_SubFromInd_cython(double dR, double dZ, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_25_Ves_Vmesh_Tor_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_24_Ves_Vmesh_Tor_SubFromInd_cython[] = " Return the desired submesh indicated by the (numerical) indices, for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_25_Ves_Vmesh_Tor_SubFromInd_cython = {"_Ves_Vmesh_Tor_SubFromInd_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_25_Ves_Vmesh_Tor_SubFromInd_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_24_Ves_Vmesh_Tor_SubFromInd_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_25_Ves_Vmesh_Tor_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dR;
double __pyx_v_dZ;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_RMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ZMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ind = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Tor_SubFromInd_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dR,&__pyx_n_s_dZ,&__pyx_n_s_dRPhi,&__pyx_n_s_RMinMax,&__pyx_n_s_ZMinMax,&__pyx_n_s_ind,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
values[6] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dR)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dZ)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, 1); __PYX_ERR(0, 708, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, 2); __PYX_ERR(0, 708, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, 3); __PYX_ERR(0, 708, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ZMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, 4); __PYX_ERR(0, 708, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, 5); __PYX_ERR(0, 708, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[7] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Vmesh_Tor_SubFromInd_cython") < 0)) __PYX_ERR(0, 708, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dR = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dR == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L3_error)
__pyx_v_dZ = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dZ == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L3_error)
__pyx_v_RMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_RMinMax.memview)) __PYX_ERR(0, 709, __pyx_L3_error)
__pyx_v_ZMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ZMinMax.memview)) __PYX_ERR(0, 709, __pyx_L3_error)
__pyx_v_ind = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[5], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ind.memview)) __PYX_ERR(0, 709, __pyx_L3_error)
__pyx_v_Out = ((PyObject*)values[6]);
if (values[7]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 710, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Tor_SubFromInd_cython", 0, 6, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 708, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Tor_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 710, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_24_Ves_Vmesh_Tor_SubFromInd_cython(__pyx_self, __pyx_v_dR, __pyx_v_dZ, __pyx_v_dRPhi, __pyx_v_RMinMax, __pyx_v_ZMinMax, __pyx_v_ind, __pyx_v_Out, __pyx_v_margin);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_24_Ves_Vmesh_Tor_SubFromInd_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dR, double __pyx_v_dZ, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_RMinMax, __Pyx_memviewslice __pyx_v_ZMinMax, __Pyx_memviewslice __pyx_v_ind, PyObject *__pyx_v_Out, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_R = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Z = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dRPhirRef = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Ru = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dRPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dRr;
double __pyx_v_dZr;
double __pyx_v_phi;
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indR = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indZ = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi0 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi = { 0, 0, { 0 }, { 0 }, { 0 } };
long __pyx_v_NR;
long __pyx_v_NZ;
CYTHON_UNUSED long __pyx_v_Rn;
CYTHON_UNUSED long __pyx_v_Zn;
long __pyx_v_NP;
long __pyx_v_Rratio;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_iiR;
int __pyx_v_iiZ;
int __pyx_v_iiphi;
__Pyx_memviewslice __pyx_v_Phi = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_dV = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dV;
__Pyx_Buffer __pyx_pybuffer_dV;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__48)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Tor_SubFromInd_cython", 0);
__Pyx_TraceCall("_Ves_Vmesh_Tor_SubFromInd_cython", __pyx_f[0], 708, 0, __PYX_ERR(0, 708, __pyx_L1_error));
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_dV.pybuffer.buf = NULL;
__pyx_pybuffer_dV.refcount = 0;
__pyx_pybuffernd_dV.data = NULL;
__pyx_pybuffernd_dV.rcbuffer = &__pyx_pybuffer_dV;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__PYX_XDEC_MEMVIEW(&__pyx_t_11, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_13, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_16, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_17, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_32, 1);
__Pyx_XDECREF(__pyx_t_92);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Tor_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dV.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_R, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Z, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dRPhirRef, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Ru, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dRPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indR, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indZ, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi0, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Phi, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_dV);
__PYX_XDEC_MEMVIEW(&__pyx_v_RMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ZMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ind, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__126 = PyTuple_Pack(35, __pyx_n_s_dR, __pyx_n_s_dZ, __pyx_n_s_dRPhi, __pyx_n_s_RMinMax, __pyx_n_s_ZMinMax, __pyx_n_s_ind, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_R, __pyx_n_s_Z, __pyx_n_s_dRPhirRef, __pyx_n_s_dPhir, __pyx_n_s_Ru, __pyx_n_s_dRPhir, __pyx_n_s_dRr, __pyx_n_s_dZr, __pyx_n_s_phi, __pyx_n_s_indR, __pyx_n_s_indZ, __pyx_n_s_NRPhi0, __pyx_n_s_NRPhi, __pyx_n_s_NR, __pyx_n_s_NZ, __pyx_n_s_Rn, __pyx_n_s_Zn, __pyx_n_s_NP, __pyx_n_s_Rratio, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_iiR, __pyx_n_s_iiZ, __pyx_n_s_iiphi, __pyx_n_s_Phi, __pyx_n_s_Pts, __pyx_n_s_dV); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__126);
__Pyx_GIVEREF(__pyx_tuple__126);
/* … */
__Pyx_TraceLine(708,0,__PYX_ERR(0, 708, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_25_Ves_Vmesh_Tor_SubFromInd_cython, 0, __pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython, __pyx_t_2) < 0) __PYX_ERR(0, 708, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(8, 0, 35, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Vmesh_Tor_SubFromInd_cython, 708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 708, __pyx_L1_error)
0709: double[::1] RMinMax, double[::1] ZMinMax, long[::1] ind,
+0710: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(710,0,__PYX_ERR(0, 710, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
0711: """ Return the desired submesh indicated by the (numerical) indices, for the desired resolution (dR,dZ,dRphi) """
0712: cdef double[::1] R, Z, dRPhirRef, dPhir, Ru, dRPhir
0713: cdef double dRr, dZr, phi
0714: cdef long[::1] indR, indZ, NRPhi0, NRPhi
+0715: cdef long NR, NZ, Rn, Zn, NP=len(ind), Rratio
__Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L1_error)) __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_ind); __pyx_v_NP = __pyx_t_1;
+0716: cdef int ii=0, jj=0, iiR, iiZ, iiphi
__Pyx_TraceLine(716,0,__PYX_ERR(0, 716, __pyx_L1_error)) __pyx_v_ii = 0; __pyx_v_jj = 0;
0717: cdef double[:,::1] Phi
+0718: cdef cnp.ndarray[double,ndim=2] Pts=np.empty((3,NP))
__Pyx_TraceLine(718,0,__PYX_ERR(0, 718, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_NP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 718, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_Pts = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 718, __pyx_L1_error) } else {__pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; } } __pyx_t_6 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+0719: cdef cnp.ndarray[double,ndim=1] dV=np.empty((NP,))
__Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_NP); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 719, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dV.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_dV = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_dV.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 719, __pyx_L1_error) } else {__pyx_pybuffernd_dV.diminfo[0].strides = __pyx_pybuffernd_dV.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dV.diminfo[0].shape = __pyx_pybuffernd_dV.rcbuffer->pybuffer.shape[0]; } } __pyx_t_7 = 0; __pyx_v_dV = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
0720:
0721: # Get the actual R and Z resolutions and mesh elements
+0722: R, dRr, indR, NR = _Ves_mesh_dlfromL_cython(RMinMax, dR, None, Lim=True, margin=margin)
__Pyx_TraceLine(722,0,__PYX_ERR(0, 722, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_RMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 722, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 722, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_2,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_2,&__pyx_t_8}; __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 4) < 0) __PYX_ERR(0, 722, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 722, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_13 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_13.memview)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_14 = __Pyx_PyInt_As_long(__pyx_t_8); if (unlikely((__pyx_t_14 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_R = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL; __pyx_v_dRr = __pyx_t_12; __pyx_v_indR = __pyx_t_13; __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL; __pyx_v_NR = __pyx_t_14;
+0723: Z, dZr, indZ, NZ = _Ves_mesh_dlfromL_cython(ZMinMax, dZ, None, Lim=True, margin=margin)
__Pyx_TraceLine(723,0,__PYX_ERR(0, 723, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_ZMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZ); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 723, __pyx_L1_error) __pyx_t_8 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_8) < 0) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 723, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_3}; __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 4) < 0) __PYX_ERR(0, 723, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 723, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_13 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_13.memview)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_14 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_14 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_Z = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL; __pyx_v_dZr = __pyx_t_12; __pyx_v_indZ = __pyx_t_13; __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL; __pyx_v_NZ = __pyx_t_14;
+0724: Rn, Zn = len(R), len(Z)
__Pyx_TraceLine(724,0,__PYX_ERR(0, 724, __pyx_L1_error)) __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_R); __pyx_t_15 = __Pyx_MemoryView_Len(__pyx_v_Z); __pyx_v_Rn = __pyx_t_1; __pyx_v_Zn = __pyx_t_15;
0725:
0726: # Number of Phi per R
+0727: dRPhirRef, dPhir = np.empty((NR,)), np.empty((NR,))
__Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_8 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_8, PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_8, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_dRPhirRef = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL; __pyx_v_dPhir = __pyx_t_16; __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL;
+0728: Ru, dRPhir = np.zeros((NR,)), np.nan*np.ones((NR,))
__Pyx_TraceLine(728,0,__PYX_ERR(0, 728, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_8 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_8, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_4, PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_Ru = __pyx_t_16; __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; __pyx_v_dRPhir = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL;
+0729: NRPhi, NRPhi0 = np.empty((NR,),dtype=int), np.empty((NR+1,),dtype=int)
__Pyx_TraceLine(729,0,__PYX_ERR(0, 729, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 729, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_13 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_13.memview)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_NR + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 729, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_8, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_NRPhi = __pyx_t_13; __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL; __pyx_v_NRPhi0 = __pyx_t_17; __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL;
+0730: Rratio = int(Cceil(R[NR-1]/R[0]))
__Pyx_TraceLine(730,0,__PYX_ERR(0, 730, __pyx_L1_error)) __pyx_t_18 = (__pyx_v_NR - 1); __pyx_t_19 = 0; __pyx_v_Rratio = ((long)ceil(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_18)) ))) / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_19)) ))))));
+0731: for ii in range(0,NR):
__Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L1_error)) __pyx_t_14 = __pyx_v_NR; __pyx_t_20 = __pyx_t_14; for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=1) { __pyx_v_ii = __pyx_t_21;
+0732: NRPhi[ii] = <long>(Cceil(2.*Cpi*R[ii]/dRPhi))
__Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L1_error)) __pyx_t_22 = __pyx_v_ii; __pyx_t_23 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_23)) )) = ((long)ceil((((2. * M_PI) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_22)) )))) / __pyx_v_dRPhi)));
+0733: dRPhirRef[ii] = 2.*Cpi*R[ii]/<double>(NRPhi[ii])
__Pyx_TraceLine(733,0,__PYX_ERR(0, 733, __pyx_L1_error)) __pyx_t_24 = __pyx_v_ii; __pyx_t_25 = __pyx_v_ii; __pyx_t_26 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_26)) )) = (((2. * M_PI) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_24)) )))) / ((double)(*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_25)) )))));
+0734: dPhir[ii] = 2.*Cpi/<double>(NRPhi[ii])
__Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L1_error)) __pyx_t_27 = __pyx_v_ii; __pyx_t_28 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_28)) )) = ((2. * M_PI) / ((double)(*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_27)) )))));
+0735: if ii==0:
__Pyx_TraceLine(735,0,__PYX_ERR(0, 735, __pyx_L1_error)) __pyx_t_29 = ((__pyx_v_ii == 0) != 0); if (__pyx_t_29) { /* … */ goto __pyx_L9; }
+0736: NRPhi0[ii] = 0
__Pyx_TraceLine(736,0,__PYX_ERR(0, 736, __pyx_L1_error)) __pyx_t_30 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_30)) )) = 0;
+0737: Phi = np.empty((NR,NRPhi[ii]*Rratio+1))
__Pyx_TraceLine(737,0,__PYX_ERR(0, 737, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_NR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_31 = __pyx_v_ii; __pyx_t_3 = __Pyx_PyInt_From_long((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_31)) ))) * __pyx_v_Rratio) + 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_8 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_32 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_8, PyBUF_WRITABLE); if (unlikely(!__pyx_t_32.memview)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_Phi, 1); __pyx_v_Phi = __pyx_t_32; __pyx_t_32.memview = NULL; __pyx_t_32.data = NULL;
0738: else:
+0739: NRPhi0[ii] = NRPhi0[ii-1] + NRPhi[ii-1]*NZ
__Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L1_error)) /*else*/ { __pyx_t_33 = (__pyx_v_ii - 1); __pyx_t_34 = (__pyx_v_ii - 1); __pyx_t_35 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_35)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_33)) ))) + ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_34)) ))) * __pyx_v_NZ)); } __pyx_L9:;
+0740: for jj in range(0,NRPhi[ii]):
__Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L1_error)) __pyx_t_36 = __pyx_v_ii; __pyx_t_37 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_36)) ))); __pyx_t_38 = __pyx_t_37; for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_38; __pyx_t_39+=1) { __pyx_v_jj = __pyx_t_39;
+0741: Phi[ii,jj] = -Cpi + (0.5+<double>jj)*dPhir[ii]
__Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L1_error)) __pyx_t_40 = __pyx_v_ii; if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 741, __pyx_L1_error) } __pyx_t_41 = __pyx_v_ii; __pyx_t_42 = __pyx_v_jj; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_41 * __pyx_v_Phi.strides[0]) )) + __pyx_t_42)) )) = ((-M_PI) + ((0.5 + ((double)__pyx_v_jj)) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_40)) ))))); } }
0742:
+0743: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(743,0,__PYX_ERR(0, 743, __pyx_L1_error)) __pyx_t_8 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_29 = (__Pyx_PyString_Equals(__pyx_t_8, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_29) { /* … */ goto __pyx_L12; }
+0744: for ii in range(0,NP):
__Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L1_error)) __pyx_t_14 = __pyx_v_NP; __pyx_t_20 = __pyx_t_14; for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=1) { __pyx_v_ii = __pyx_t_21;
+0745: for jj in range(0,NR+1):
__Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L1_error)) __pyx_t_37 = (__pyx_v_NR + 1); __pyx_t_38 = __pyx_t_37; for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_38; __pyx_t_39+=1) { __pyx_v_jj = __pyx_t_39;
+0746: if ind[ii]-NRPhi0[jj]<0.:
__Pyx_TraceLine(746,0,__PYX_ERR(0, 746, __pyx_L1_error)) __pyx_t_43 = __pyx_v_ii; __pyx_t_44 = __pyx_v_jj; __pyx_t_29 = ((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_43)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_44)) )))) < 0.) != 0); if (__pyx_t_29) { /* … */ } } __pyx_L16_break:;
+0747: break
__Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L1_error)) goto __pyx_L16_break;
+0748: iiR = jj-1
__Pyx_TraceLine(748,0,__PYX_ERR(0, 748, __pyx_L1_error)) __pyx_v_iiR = (__pyx_v_jj - 1);
+0749: iiZ = (ind[ii] - NRPhi0[iiR])//NRPhi[iiR]
__Pyx_TraceLine(749,0,__PYX_ERR(0, 749, __pyx_L1_error)) __pyx_t_45 = __pyx_v_ii; __pyx_t_46 = __pyx_v_iiR; __pyx_t_47 = __pyx_v_iiR; __pyx_v_iiZ = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_45)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_46)) )))) / (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_47)) ))));
+0750: iiphi = ind[ii] - NRPhi0[iiR] - iiZ*NRPhi[iiR]
__Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L1_error)) __pyx_t_48 = __pyx_v_ii; __pyx_t_49 = __pyx_v_iiR; __pyx_t_50 = __pyx_v_iiR; __pyx_v_iiphi = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_48)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_49)) )))) - (__pyx_v_iiZ * (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_50)) )))));
+0751: phi = Phi[iiR,iiphi]
__Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L1_error)) if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 751, __pyx_L1_error) } __pyx_t_51 = __pyx_v_iiR; __pyx_t_52 = __pyx_v_iiphi; __pyx_v_phi = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_51 * __pyx_v_Phi.strides[0]) )) + __pyx_t_52)) )));
+0752: Pts[0,ii] = R[iiR]*Ccos(phi)
__Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L1_error)) __pyx_t_53 = __pyx_v_iiR; __pyx_t_54 = 0; __pyx_t_55 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_54, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_55, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_53)) ))) * cos(__pyx_v_phi));
+0753: Pts[1,ii] = R[iiR]*Csin(phi)
__Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L1_error)) __pyx_t_56 = __pyx_v_iiR; __pyx_t_57 = 1; __pyx_t_58 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_57, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_58, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_56)) ))) * sin(__pyx_v_phi));
+0754: Pts[2,ii] = Z[iiZ]
__Pyx_TraceLine(754,0,__PYX_ERR(0, 754, __pyx_L1_error)) __pyx_t_59 = __pyx_v_iiZ; __pyx_t_60 = 2; __pyx_t_61 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_60, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_61, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Z.data) + __pyx_t_59)) )));
+0755: dV[ii] = dRr*dZr*dRPhirRef[iiR]
__Pyx_TraceLine(755,0,__PYX_ERR(0, 755, __pyx_L1_error)) __pyx_t_62 = __pyx_v_iiR; __pyx_t_63 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dV.rcbuffer->pybuffer.buf, __pyx_t_63, __pyx_pybuffernd_dV.diminfo[0].strides) = ((__pyx_v_dRr * __pyx_v_dZr) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_62)) ))));
+0756: if Ru[iiR]==0.:
__Pyx_TraceLine(756,0,__PYX_ERR(0, 756, __pyx_L1_error)) __pyx_t_64 = __pyx_v_iiR; __pyx_t_29 = (((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Ru.data) + __pyx_t_64)) ))) == 0.) != 0); if (__pyx_t_29) { /* … */ } }
+0757: dRPhir[iiR] = dRPhirRef[iiR]
__Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L1_error)) __pyx_t_65 = __pyx_v_iiR; __pyx_t_66 = __pyx_v_iiR; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_66)) )) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_65)) )));
+0758: Ru[iiR] = 1.
__Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L1_error)) __pyx_t_67 = __pyx_v_iiR; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Ru.data) + __pyx_t_67)) )) = 1.;
0759: else:
+0760: for ii in range(0,NP):
__Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L1_error)) /*else*/ { __pyx_t_14 = __pyx_v_NP; __pyx_t_20 = __pyx_t_14; for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=1) { __pyx_v_ii = __pyx_t_21;
+0761: for jj in range(0,NR+1):
__Pyx_TraceLine(761,0,__PYX_ERR(0, 761, __pyx_L1_error)) __pyx_t_37 = (__pyx_v_NR + 1); __pyx_t_38 = __pyx_t_37; for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_38; __pyx_t_39+=1) { __pyx_v_jj = __pyx_t_39;
+0762: if ind[ii]-NRPhi0[jj]<0.:
__Pyx_TraceLine(762,0,__PYX_ERR(0, 762, __pyx_L1_error)) __pyx_t_68 = __pyx_v_ii; __pyx_t_69 = __pyx_v_jj; __pyx_t_29 = ((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_68)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_69)) )))) < 0.) != 0); if (__pyx_t_29) { /* … */ } } __pyx_L22_break:;
+0763: break
__Pyx_TraceLine(763,0,__PYX_ERR(0, 763, __pyx_L1_error)) goto __pyx_L22_break;
+0764: iiR = jj-1
__Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L1_error)) __pyx_v_iiR = (__pyx_v_jj - 1);
+0765: iiZ = (ind[ii] - NRPhi0[iiR])//NRPhi[iiR]
__Pyx_TraceLine(765,0,__PYX_ERR(0, 765, __pyx_L1_error)) __pyx_t_70 = __pyx_v_ii; __pyx_t_71 = __pyx_v_iiR; __pyx_t_72 = __pyx_v_iiR; __pyx_v_iiZ = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_70)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_71)) )))) / (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_72)) ))));
+0766: iiphi = ind[ii] - NRPhi0[iiR] - iiZ*NRPhi[iiR]
__Pyx_TraceLine(766,0,__PYX_ERR(0, 766, __pyx_L1_error)) __pyx_t_73 = __pyx_v_ii; __pyx_t_74 = __pyx_v_iiR; __pyx_t_75 = __pyx_v_iiR; __pyx_v_iiphi = (((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_73)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_74)) )))) - (__pyx_v_iiZ * (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_75)) )))));
+0767: Pts[0,ii] = R[iiR]
__Pyx_TraceLine(767,0,__PYX_ERR(0, 767, __pyx_L1_error)) __pyx_t_76 = __pyx_v_iiR; __pyx_t_77 = 0; __pyx_t_78 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_77, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_78, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_R.data) + __pyx_t_76)) )));
+0768: Pts[1,ii] = Z[iiZ]
__Pyx_TraceLine(768,0,__PYX_ERR(0, 768, __pyx_L1_error)) __pyx_t_79 = __pyx_v_iiZ; __pyx_t_80 = 1; __pyx_t_81 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_80, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_81, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Z.data) + __pyx_t_79)) )));
+0769: Pts[2,ii] = Phi[iiR,iiphi]
__Pyx_TraceLine(769,0,__PYX_ERR(0, 769, __pyx_L1_error)) if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 769, __pyx_L1_error) } __pyx_t_82 = __pyx_v_iiR; __pyx_t_83 = __pyx_v_iiphi; __pyx_t_84 = 2; __pyx_t_85 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_84, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_85, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_82 * __pyx_v_Phi.strides[0]) )) + __pyx_t_83)) )));
+0770: dV[ii] = dRr*dZr*dRPhirRef[iiR]
__Pyx_TraceLine(770,0,__PYX_ERR(0, 770, __pyx_L1_error)) __pyx_t_86 = __pyx_v_iiR; __pyx_t_87 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dV.rcbuffer->pybuffer.buf, __pyx_t_87, __pyx_pybuffernd_dV.diminfo[0].strides) = ((__pyx_v_dRr * __pyx_v_dZr) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_86)) ))));
+0771: if Ru[iiR]==0.:
__Pyx_TraceLine(771,0,__PYX_ERR(0, 771, __pyx_L1_error)) __pyx_t_88 = __pyx_v_iiR; __pyx_t_29 = (((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Ru.data) + __pyx_t_88)) ))) == 0.) != 0); if (__pyx_t_29) { /* … */ } } } __pyx_L12:;
+0772: dRPhir[iiR] = dRPhirRef[iiR]
__Pyx_TraceLine(772,0,__PYX_ERR(0, 772, __pyx_L1_error)) __pyx_t_89 = __pyx_v_iiR; __pyx_t_90 = __pyx_v_iiR; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhir.data) + __pyx_t_90)) )) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_89)) )));
+0773: Ru[iiR] = 1.
__Pyx_TraceLine(773,0,__PYX_ERR(0, 773, __pyx_L1_error)) __pyx_t_91 = __pyx_v_iiR; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_Ru.data) + __pyx_t_91)) )) = 1.;
0774:
+0775: return Pts, dV, dRr, dZr, np.asarray(dRPhir)[~np.isnan(dRPhir)]
__Pyx_TraceLine(775,0,__PYX_ERR(0, 775, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_dRr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_dRPhir, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_isnan); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_dRPhir, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_92 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_92 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_92)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_92); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_4 = (__pyx_t_92) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_92, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3); __Pyx_XDECREF(__pyx_t_92); __pyx_t_92 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Invert(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dV)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dV)); PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_dV)); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_4); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_9; __pyx_t_9 = 0; goto __pyx_L0;
0776:
0777:
0778:
0779: ########################################################
0780: ########################################################
0781: # Meshing - Volume - Lin
0782: ########################################################
0783:
0784:
+0785: def _Ves_Vmesh_Lin_SubFromD_cython(double dX, double dY, double dZ,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_27_Ves_Vmesh_Lin_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_26_Ves_Vmesh_Lin_SubFromD_cython[] = " Return the desired submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dY,dZ) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_27_Ves_Vmesh_Lin_SubFromD_cython = {"_Ves_Vmesh_Lin_SubFromD_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_27_Ves_Vmesh_Lin_SubFromD_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_26_Ves_Vmesh_Lin_SubFromD_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_27_Ves_Vmesh_Lin_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dX;
double __pyx_v_dY;
double __pyx_v_dZ;
__Pyx_memviewslice __pyx_v_XMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_YMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ZMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_DX = 0;
PyObject *__pyx_v_DY = 0;
PyObject *__pyx_v_DZ = 0;
PyObject *__pyx_v_VPoly = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Lin_SubFromD_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dX,&__pyx_n_s_dY,&__pyx_n_s_dZ,&__pyx_n_s_XMinMax,&__pyx_n_s_YMinMax,&__pyx_n_s_ZMinMax,&__pyx_n_s_DX,&__pyx_n_s_DY,&__pyx_n_s_DZ,&__pyx_n_s_VPoly,&__pyx_n_s_margin,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_26_Ves_Vmesh_Lin_SubFromD_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dX, double __pyx_v_dY, double __pyx_v_dZ, __Pyx_memviewslice __pyx_v_XMinMax, __Pyx_memviewslice __pyx_v_YMinMax, __Pyx_memviewslice __pyx_v_ZMinMax, PyObject *__pyx_v_DX, PyObject *__pyx_v_DY, PyObject *__pyx_v_DZ, PyObject *__pyx_v_VPoly, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_X = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Y = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Z = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dXr;
double __pyx_v_dYr;
double __pyx_v_dZr;
double __pyx_v_dV;
PyArrayObject *__pyx_v_indX = 0;
PyArrayObject *__pyx_v_indY = 0;
PyArrayObject *__pyx_v_indZ = 0;
int __pyx_v_NX;
int __pyx_v_NY;
CYTHON_UNUSED int __pyx_v_NZ;
int __pyx_v_Xn;
int __pyx_v_Yn;
int __pyx_v_Zn;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_ind = 0;
PyObject *__pyx_v_indin = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indX;
__Pyx_Buffer __pyx_pybuffer_indX;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indY;
__Pyx_Buffer __pyx_pybuffer_indY;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ;
__Pyx_Buffer __pyx_pybuffer_indZ;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__49)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Lin_SubFromD_cython", 0);
__Pyx_TraceCall("_Ves_Vmesh_Lin_SubFromD_cython", __pyx_f[0], 785, 0, __PYX_ERR(0, 785, __pyx_L1_error));
__pyx_pybuffer_indX.pybuffer.buf = NULL;
__pyx_pybuffer_indX.refcount = 0;
__pyx_pybuffernd_indX.data = NULL;
__pyx_pybuffernd_indX.rcbuffer = &__pyx_pybuffer_indX;
__pyx_pybuffer_indY.pybuffer.buf = NULL;
__pyx_pybuffer_indY.refcount = 0;
__pyx_pybuffernd_indY.data = NULL;
__pyx_pybuffernd_indY.rcbuffer = &__pyx_pybuffer_indY;
__pyx_pybuffer_indZ.pybuffer.buf = NULL;
__pyx_pybuffer_indZ.refcount = 0;
__pyx_pybuffernd_indZ.data = NULL;
__pyx_pybuffernd_indZ.rcbuffer = &__pyx_pybuffer_indZ;
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Lin_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_X, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Y, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Z, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_indX);
__Pyx_XDECREF((PyObject *)__pyx_v_indY);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_indin);
__PYX_XDEC_MEMVIEW(&__pyx_v_XMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_YMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ZMinMax, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__127 = PyTuple_Pack(30, __pyx_n_s_dX, __pyx_n_s_dY, __pyx_n_s_dZ, __pyx_n_s_XMinMax, __pyx_n_s_YMinMax, __pyx_n_s_ZMinMax, __pyx_n_s_DX, __pyx_n_s_DY, __pyx_n_s_DZ, __pyx_n_s_VPoly, __pyx_n_s_margin, __pyx_n_s_X, __pyx_n_s_Y, __pyx_n_s_Z, __pyx_n_s_dXr, __pyx_n_s_dYr, __pyx_n_s_dZr, __pyx_n_s_dV, __pyx_n_s_indX, __pyx_n_s_indY, __pyx_n_s_indZ, __pyx_n_s_NX, __pyx_n_s_NY, __pyx_n_s_NZ, __pyx_n_s_Xn, __pyx_n_s_Yn, __pyx_n_s_Zn, __pyx_n_s_Pts, __pyx_n_s_ind, __pyx_n_s_indin); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__127);
__Pyx_GIVEREF(__pyx_tuple__127);
/* … */
__Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 3, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_27_Ves_Vmesh_Lin_SubFromD_cython, 0, __pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython, __pyx_t_2) < 0) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(11, 0, 30, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Vmesh_Lin_SubFromD_cython, 785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 785, __pyx_L1_error)
0786: double[::1] XMinMax, double[::1] YMinMax, double[::1] ZMinMax,
+0787: DX=None, DY=None, DZ=None, VPoly=None,
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dX)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dY)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, 1); __PYX_ERR(0, 785, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dZ)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, 2); __PYX_ERR(0, 785, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_XMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, 3); __PYX_ERR(0, 785, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_YMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, 4); __PYX_ERR(0, 785, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ZMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, 5); __PYX_ERR(0, 785, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DX);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DY);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DZ);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[10] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Vmesh_Lin_SubFromD_cython") < 0)) __PYX_ERR(0, 785, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dX = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dX == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 785, __pyx_L3_error)
__pyx_v_dY = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dY == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 785, __pyx_L3_error)
__pyx_v_dZ = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dZ == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 785, __pyx_L3_error)
__pyx_v_XMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_XMinMax.memview)) __PYX_ERR(0, 786, __pyx_L3_error)
__pyx_v_YMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_YMinMax.memview)) __PYX_ERR(0, 786, __pyx_L3_error)
__pyx_v_ZMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[5], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ZMinMax.memview)) __PYX_ERR(0, 786, __pyx_L3_error)
__pyx_v_DX = values[6];
__pyx_v_DY = values[7];
__pyx_v_DZ = values[8];
__pyx_v_VPoly = values[9];
if (values[10]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 788, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromD_cython", 0, 6, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 785, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Lin_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_26_Ves_Vmesh_Lin_SubFromD_cython(__pyx_self, __pyx_v_dX, __pyx_v_dY, __pyx_v_dZ, __pyx_v_XMinMax, __pyx_v_YMinMax, __pyx_v_ZMinMax, __pyx_v_DX, __pyx_v_DY, __pyx_v_DZ, __pyx_v_VPoly, __pyx_v_margin);
+0788: double margin=1.e-9):
__Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
0789: " Return the desired submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dY,dZ) "
0790:
0791: cdef double[::1] X, Y, Z
0792: cdef double dXr, dYr, dZr, dV
0793: cdef cnp.ndarray[long,ndim=1] indX, indY, indZ
0794: cdef int NX, NY, NZ, Xn, Yn, Zn
0795: cdef cnp.ndarray[double,ndim=2] Pts
0796: cdef cnp.ndarray[long,ndim=1] ind
0797:
0798: # Get the actual X, Y and Z resolutions and mesh elements
+0799: X, dXr, indX, NX = _Ves_mesh_dlfromL_cython(XMinMax, dX, DX, Lim=True, margin=margin)
__Pyx_TraceLine(799,0,__PYX_ERR(0, 799, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_XMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_INCREF(__pyx_v_DX); __Pyx_GIVEREF(__pyx_v_DX); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_DX); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 799, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_2) < 0) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 799, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 799, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 799, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 799, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_X = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dXr = __pyx_t_9; __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_v_indX, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_indX.diminfo[0].strides = __pyx_pybuffernd_indX.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indX.diminfo[0].shape = __pyx_pybuffernd_indX.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 799, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_indX = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_v_NX = __pyx_t_10;
+0800: Y, dYr, indY, NY = _Ves_mesh_dlfromL_cython(YMinMax, dY, DY, Lim=True, margin=margin)
__Pyx_TraceLine(800,0,__PYX_ERR(0, 800, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_YMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_INCREF(__pyx_v_DY); __Pyx_GIVEREF(__pyx_v_DY); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_DY); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 800, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 800, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 800, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 800, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 800, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_Y = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dYr = __pyx_t_9; __pyx_t_11 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY.rcbuffer->pybuffer, (PyObject*)__pyx_v_indY, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_indY.diminfo[0].strides = __pyx_pybuffernd_indY.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indY.diminfo[0].shape = __pyx_pybuffernd_indY.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 800, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_indY = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_NY = __pyx_t_10;
+0801: Z, dZr, indZ, NZ = _Ves_mesh_dlfromL_cython(ZMinMax, dZ, DZ, Lim=True, margin=margin)
__Pyx_TraceLine(801,0,__PYX_ERR(0, 801, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_ZMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZ); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_INCREF(__pyx_v_DZ); __Pyx_GIVEREF(__pyx_v_DZ); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_DZ); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 801, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 801, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_1 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 801, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 801, __pyx_L1_error) __pyx_L8_unpacking_done:; } __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 801, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Z = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_v_dZr = __pyx_t_9; __pyx_t_11 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_indZ.diminfo[0].strides = __pyx_pybuffernd_indZ.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ.diminfo[0].shape = __pyx_pybuffernd_indZ.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 801, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_indZ = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __pyx_v_NZ = __pyx_t_10;
+0802: Xn, Yn, Zn = len(X), len(Y), len(Z)
__Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L1_error)) __pyx_t_16 = __Pyx_MemoryView_Len(__pyx_v_X); __pyx_t_17 = __Pyx_MemoryView_Len(__pyx_v_Y); __pyx_t_18 = __Pyx_MemoryView_Len(__pyx_v_Z); __pyx_v_Xn = __pyx_t_16; __pyx_v_Yn = __pyx_t_17; __pyx_v_Zn = __pyx_t_18;
0803:
+0804: Pts = np.array([np.tile(X,(Yn*Zn,1)).flatten(), np.tile(np.repeat(Y,Xn),(Zn,1)).flatten(), np.repeat(Z,Xn*Yn)])
__Pyx_TraceLine(804,0,__PYX_ERR(0, 804, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_tile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_X, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_19 = __Pyx_PyInt_From_int((__pyx_v_Yn * __pyx_v_Zn)); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_int_1); __pyx_t_19 = 0; __pyx_t_19 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_2, __pyx_t_20}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_2, __pyx_t_20}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif { __pyx_t_21 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_10, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_10, __pyx_t_20); __pyx_t_2 = 0; __pyx_t_20 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_21, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flatten); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_tile); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_repeat); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_Y, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_t_2, __pyx_t_22}; __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_t_2, __pyx_t_22}; __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_24 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_10, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_10, __pyx_t_22); __pyx_t_2 = 0; __pyx_t_22 = 0; __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_Zn); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_24 = PyTuple_New(2); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_19); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_int_1); __pyx_t_19 = 0; __pyx_t_19 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_20)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_21, __pyx_t_24}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_21, __pyx_t_24}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_22 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_10, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_10, __pyx_t_24); __pyx_t_21 = 0; __pyx_t_24 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flatten); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); } } __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_20); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_repeat); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_v_Z, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_24 = __Pyx_PyInt_From_int((__pyx_v_Xn * __pyx_v_Yn)); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_21 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_t_4, __pyx_t_24}; __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_t_4, __pyx_t_24}; __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_19 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_21); __pyx_t_21 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_10, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_10, __pyx_t_24); __pyx_t_4 = 0; __pyx_t_24 = 0; __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_19, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyList_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_22, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_22, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_22, 2, __pyx_t_20); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_20 = 0; __pyx_t_20 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_20)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_20); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_20, __pyx_t_22) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_22); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 804, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 804, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0805: ind = np.repeat(NX*NY*indZ,Xn*Yn) + np.tile(np.repeat(NX*indY,Xn),(Zn,1)).flatten() + np.tile(indX,(Yn*Zn,1)).flatten()
__Pyx_TraceLine(805,0,__PYX_ERR(0, 805, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_repeat); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_NY)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = PyNumber_Multiply(__pyx_t_5, ((PyObject *)__pyx_v_indZ)); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_Xn * __pyx_v_Yn)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_20, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_20, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_t_5); __pyx_t_20 = 0; __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_tile); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_repeat); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_NX); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_24 = PyNumber_Multiply(__pyx_t_6, ((PyObject *)__pyx_v_indY)); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_24, __pyx_t_6}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_24, __pyx_t_6}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_21 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_10, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_10, __pyx_t_6); __pyx_t_24 = 0; __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_21, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_Zn); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_19); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_int_1); __pyx_t_19 = 0; __pyx_t_19 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_20)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_5, __pyx_t_21}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_5, __pyx_t_21}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_10, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_10, __pyx_t_21); __pyx_t_5 = 0; __pyx_t_21 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flatten); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); } } __pyx_t_22 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_20); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_Add(__pyx_t_3, __pyx_t_22); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_Yn * __pyx_v_Zn)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_1); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_int_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_indX), __pyx_t_21}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_indX), __pyx_t_21}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indX)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indX)); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_10, ((PyObject *)__pyx_v_indX)); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_10, __pyx_t_21); __pyx_t_21 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flatten); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_22 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_20, __pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 805, __pyx_L1_error) __pyx_t_26 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_26, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 805, __pyx_L1_error) } __pyx_t_26 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
+0806: dV = dXr*dYr*dZr
__Pyx_TraceLine(806,0,__PYX_ERR(0, 806, __pyx_L1_error)) __pyx_v_dV = ((__pyx_v_dXr * __pyx_v_dYr) * __pyx_v_dZr);
0807:
+0808: if VPoly is not None:
__Pyx_TraceLine(808,0,__PYX_ERR(0, 808, __pyx_L1_error)) __pyx_t_27 = (__pyx_v_VPoly != Py_None); __pyx_t_28 = (__pyx_t_27 != 0); if (__pyx_t_28) { /* … */ }
+0809: indin = Path(VPoly.T).contains_points(Pts[1:,:].T, transform=None, radius=0.0)
__Pyx_TraceLine(809,0,__PYX_ERR(0, 809, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_Path); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_VPoly, __pyx_n_s_T); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_3, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_20); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_tuple__38); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_T); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_t_20, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 809, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_20, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 809, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_6, __pyx_t_20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_v_indin = __pyx_t_3; __pyx_t_3 = 0; __pyx_tuple__38 = PyTuple_Pack(2, __pyx_slice__26, __pyx_slice__9); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38);
+0810: Pts, ind = Pts[:,indin], ind[indin]
__Pyx_TraceLine(810,0,__PYX_ERR(0, 810, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indin); __pyx_t_20 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_20) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_20, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 810, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_indin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 810, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_20); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 810, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_20)); __pyx_t_20 = 0; __pyx_t_26 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_26, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 810, __pyx_L1_error) } __pyx_t_26 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
0811:
+0812: return Pts, dV, ind.astype(int), dXr, dYr, dZr
__Pyx_TraceLine(812,0,__PYX_ERR(0, 812, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dV); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ind), __pyx_n_s_astype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_22 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_20 = (__pyx_t_22) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_22, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_22 = PyFloat_FromDouble(__pyx_v_dYr); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dZr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_21 = PyTuple_New(6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_21, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_21, 3, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_21, 4, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_21, 5, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_22 = 0; __pyx_t_5 = 0; __pyx_r = __pyx_t_21; __pyx_t_21 = 0; goto __pyx_L0;
0813:
0814:
+0815: def _Ves_Vmesh_Lin_SubFromInd_cython(double dX, double dY, double dZ,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_29_Ves_Vmesh_Lin_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_28_Ves_Vmesh_Lin_SubFromInd_cython[] = " Return the desired submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dY,dZ) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_29_Ves_Vmesh_Lin_SubFromInd_cython = {"_Ves_Vmesh_Lin_SubFromInd_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_29_Ves_Vmesh_Lin_SubFromInd_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_28_Ves_Vmesh_Lin_SubFromInd_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_29_Ves_Vmesh_Lin_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dX;
double __pyx_v_dY;
double __pyx_v_dZ;
__Pyx_memviewslice __pyx_v_XMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_YMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ZMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_ind = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Lin_SubFromInd_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dX,&__pyx_n_s_dY,&__pyx_n_s_dZ,&__pyx_n_s_XMinMax,&__pyx_n_s_YMinMax,&__pyx_n_s_ZMinMax,&__pyx_n_s_ind,&__pyx_n_s_margin,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dX)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dY)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 1); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dZ)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 2); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_XMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 3); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_YMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 4); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ZMinMax)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 5); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, 6); __PYX_ERR(0, 815, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[7] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Vmesh_Lin_SubFromInd_cython") < 0)) __PYX_ERR(0, 815, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dX = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dX == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L3_error)
__pyx_v_dY = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dY == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L3_error)
__pyx_v_dZ = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dZ == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L3_error)
__pyx_v_XMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_XMinMax.memview)) __PYX_ERR(0, 816, __pyx_L3_error)
__pyx_v_YMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_YMinMax.memview)) __PYX_ERR(0, 816, __pyx_L3_error)
__pyx_v_ZMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[5], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ZMinMax.memview)) __PYX_ERR(0, 816, __pyx_L3_error)
__pyx_v_ind = ((PyArrayObject *)values[6]);
if (values[7]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 817, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Vmesh_Lin_SubFromInd_cython", 0, 7, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 815, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Lin_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ind), __pyx_ptype_5numpy_ndarray, 1, "ind", 0))) __PYX_ERR(0, 817, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_28_Ves_Vmesh_Lin_SubFromInd_cython(__pyx_self, __pyx_v_dX, __pyx_v_dY, __pyx_v_dZ, __pyx_v_XMinMax, __pyx_v_YMinMax, __pyx_v_ZMinMax, __pyx_v_ind, __pyx_v_margin);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_28_Ves_Vmesh_Lin_SubFromInd_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dX, double __pyx_v_dY, double __pyx_v_dZ, __Pyx_memviewslice __pyx_v_XMinMax, __Pyx_memviewslice __pyx_v_YMinMax, __Pyx_memviewslice __pyx_v_ZMinMax, PyArrayObject *__pyx_v_ind, double __pyx_v_margin) {
PyArrayObject *__pyx_v_X = 0;
PyArrayObject *__pyx_v_Y = 0;
PyArrayObject *__pyx_v_Z = 0;
double __pyx_v_dXr;
double __pyx_v_dYr;
double __pyx_v_dZr;
double __pyx_v_dV;
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_bla = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_indX = 0;
PyArrayObject *__pyx_v_indY = 0;
PyArrayObject *__pyx_v_indZ = 0;
int __pyx_v_NX;
int __pyx_v_NY;
CYTHON_UNUSED int __pyx_v_NZ;
PyArrayObject *__pyx_v_Pts = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_X;
__Pyx_Buffer __pyx_pybuffer_X;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Y;
__Pyx_Buffer __pyx_pybuffer_Y;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Z;
__Pyx_Buffer __pyx_pybuffer_Z;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indX;
__Pyx_Buffer __pyx_pybuffer_indX;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indY;
__Pyx_Buffer __pyx_pybuffer_indY;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ;
__Pyx_Buffer __pyx_pybuffer_indZ;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__50)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Vmesh_Lin_SubFromInd_cython", 0);
__Pyx_TraceCall("_Ves_Vmesh_Lin_SubFromInd_cython", __pyx_f[0], 815, 0, __PYX_ERR(0, 815, __pyx_L1_error));
__pyx_pybuffer_X.pybuffer.buf = NULL;
__pyx_pybuffer_X.refcount = 0;
__pyx_pybuffernd_X.data = NULL;
__pyx_pybuffernd_X.rcbuffer = &__pyx_pybuffer_X;
__pyx_pybuffer_Y.pybuffer.buf = NULL;
__pyx_pybuffer_Y.refcount = 0;
__pyx_pybuffernd_Y.data = NULL;
__pyx_pybuffernd_Y.rcbuffer = &__pyx_pybuffer_Y;
__pyx_pybuffer_Z.pybuffer.buf = NULL;
__pyx_pybuffer_Z.refcount = 0;
__pyx_pybuffernd_Z.data = NULL;
__pyx_pybuffernd_Z.rcbuffer = &__pyx_pybuffer_Z;
__pyx_pybuffer_indX.pybuffer.buf = NULL;
__pyx_pybuffer_indX.refcount = 0;
__pyx_pybuffernd_indX.data = NULL;
__pyx_pybuffernd_indX.rcbuffer = &__pyx_pybuffer_indX;
__pyx_pybuffer_indY.pybuffer.buf = NULL;
__pyx_pybuffer_indY.refcount = 0;
__pyx_pybuffernd_indY.data = NULL;
__pyx_pybuffernd_indY.rcbuffer = &__pyx_pybuffer_indY;
__pyx_pybuffer_indZ.pybuffer.buf = NULL;
__pyx_pybuffer_indZ.refcount = 0;
__pyx_pybuffernd_indZ.data = NULL;
__pyx_pybuffernd_indZ.rcbuffer = &__pyx_pybuffer_indZ;
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 815, __pyx_L1_error)
}
__pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_9, 1);
__Pyx_XDECREF(__pyx_t_17);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Vmesh_Lin_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF((PyObject *)__pyx_v_X);
__Pyx_XDECREF((PyObject *)__pyx_v_Y);
__Pyx_XDECREF((PyObject *)__pyx_v_Z);
__PYX_XDEC_MEMVIEW(&__pyx_v_bla, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_indX);
__Pyx_XDECREF((PyObject *)__pyx_v_indY);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__PYX_XDEC_MEMVIEW(&__pyx_v_XMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_YMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ZMinMax, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__128 = PyTuple_Pack(26, __pyx_n_s_dX, __pyx_n_s_dY, __pyx_n_s_dZ, __pyx_n_s_XMinMax, __pyx_n_s_YMinMax, __pyx_n_s_ZMinMax, __pyx_n_s_ind, __pyx_n_s_margin, __pyx_n_s_X, __pyx_n_s_Y, __pyx_n_s_Z, __pyx_n_s_dXr, __pyx_n_s_dYr, __pyx_n_s_dZr, __pyx_n_s_dV, __pyx_n_s_bla, __pyx_n_s_indX, __pyx_n_s_indY, __pyx_n_s_indZ, __pyx_n_s_NX, __pyx_n_s_NY, __pyx_n_s_NZ, __pyx_n_s_Xn, __pyx_n_s_Yn, __pyx_n_s_Zn, __pyx_n_s_Pts); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__128);
__Pyx_GIVEREF(__pyx_tuple__128);
/* … */
__Pyx_TraceLine(815,0,__PYX_ERR(0, 815, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_29_Ves_Vmesh_Lin_SubFromInd_cython, 0, __pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython, __pyx_t_2) < 0) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(8, 0, 26, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Vmesh_Lin_SubFromInd_cython, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 815, __pyx_L1_error)
0816: double[::1] XMinMax, double[::1] YMinMax, double[::1] ZMinMax,
+0817: cnp.ndarray[long,ndim=1] ind, double margin=1.e-9):
__Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
0818: " Return the desired submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dY,dZ) "
0819:
0820: cdef cnp.ndarray[double,ndim=1] X, Y, Z
0821: cdef double dXr, dYr, dZr, dV
0822: cdef long[::1] bla
0823: cdef cnp.ndarray[long,ndim=1] indX, indY, indZ
0824: cdef int NX, NY, NZ, Xn, Yn, Zn
0825: cdef cnp.ndarray[double,ndim=2] Pts
0826:
0827: # Get the actual X, Y and Z resolutions and mesh elements
+0828: X, dXr, bla, NX = _Ves_mesh_dlfromL_cython(XMinMax, dX, None, Lim=True, margin=margin)
__Pyx_TraceLine(828,0,__PYX_ERR(0, 828, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_XMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 828, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_2) < 0) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 828, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_1,&__pyx_t_5}; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 828, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 828, __pyx_L1_error) __pyx_L4_unpacking_done:; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 828, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_v_X, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_X.diminfo[0].strides = __pyx_pybuffernd_X.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_X.diminfo[0].shape = __pyx_pybuffernd_X.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 828, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_X = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_v_dXr = __pyx_t_8; __pyx_v_bla = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_NX = __pyx_t_10;
+0829: Y, dYr, bla, NY = _Ves_mesh_dlfromL_cython(YMinMax, dY, None, Lim=True, margin=margin)
__Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_YMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 829, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 829, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_4,&__pyx_t_2,&__pyx_t_3}; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 829, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 829, __pyx_L1_error) __pyx_L6_unpacking_done:; } if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 829, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y.rcbuffer->pybuffer, (PyObject*)__pyx_v_Y, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_Y.diminfo[0].strides = __pyx_pybuffernd_Y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Y.diminfo[0].shape = __pyx_pybuffernd_Y.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 829, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_Y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_v_dYr = __pyx_t_8; __PYX_XDEC_MEMVIEW(&__pyx_v_bla, 1); __pyx_v_bla = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_NY = __pyx_t_10;
+0830: Z, dZr, bla, NZ = _Ves_mesh_dlfromL_cython(ZMinMax, dZ, None, Lim=True, margin=margin)
__Pyx_TraceLine(830,0,__PYX_ERR(0, 830, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_ZMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dZ); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 830, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 830, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_1 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_1}; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 830, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 830, __pyx_L1_error) __pyx_L8_unpacking_done:; } if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 830, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z.rcbuffer->pybuffer, (PyObject*)__pyx_v_Z, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_Z.diminfo[0].strides = __pyx_pybuffernd_Z.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Z.diminfo[0].shape = __pyx_pybuffernd_Z.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 830, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_v_Z = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_dZr = __pyx_t_8; __PYX_XDEC_MEMVIEW(&__pyx_v_bla, 1); __pyx_v_bla = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_v_NZ = __pyx_t_10;
0831:
+0832: indZ = ind // (NX*NY)
__Pyx_TraceLine(832,0,__PYX_ERR(0, 832, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_NY)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_FloorDivide(((PyObject *)__pyx_v_ind), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 832, __pyx_L1_error) __pyx_t_16 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_indZ.diminfo[0].strides = __pyx_pybuffernd_indZ.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ.diminfo[0].shape = __pyx_pybuffernd_indZ.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 832, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_indZ = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+0833: indY = (ind - NX*NY*indZ) // NX
__Pyx_TraceLine(833,0,__PYX_ERR(0, 833, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_NY)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, ((PyObject *)__pyx_v_indZ)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_ind), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_FloorDivide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 833, __pyx_L1_error) __pyx_t_16 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY.rcbuffer->pybuffer, (PyObject*)__pyx_v_indY, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_indY.diminfo[0].strides = __pyx_pybuffernd_indY.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indY.diminfo[0].shape = __pyx_pybuffernd_indY.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 833, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_indY = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+0834: indX = ind - NX*NY*indZ - NX*indY
__Pyx_TraceLine(834,0,__PYX_ERR(0, 834, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_NY)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, ((PyObject *)__pyx_v_indZ)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(((PyObject *)__pyx_v_ind), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, ((PyObject *)__pyx_v_indY)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 834, __pyx_L1_error) __pyx_t_16 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_v_indX, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_14, __pyx_t_13); } __pyx_t_15 = __pyx_t_14 = __pyx_t_13 = 0; } __pyx_pybuffernd_indX.diminfo[0].strides = __pyx_pybuffernd_indX.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indX.diminfo[0].shape = __pyx_pybuffernd_indX.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 834, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_indX = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0835: Pts = np.array([X[indX.astype(int)], Y[indY.astype(int)], Z[indZ.astype(int)]])
__Pyx_TraceLine(835,0,__PYX_ERR(0, 835, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_indX), __pyx_n_s_astype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_X), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_indY), __pyx_n_s_astype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Y), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_indZ), __pyx_n_s_astype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_17, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z), __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 835, __pyx_L1_error) __pyx_t_18 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __pyx_t_13 = __pyx_t_14 = __pyx_t_15 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 835, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0836: dV = dXr*dYr*dZr
__Pyx_TraceLine(836,0,__PYX_ERR(0, 836, __pyx_L1_error)) __pyx_v_dV = ((__pyx_v_dXr * __pyx_v_dYr) * __pyx_v_dZr);
0837:
+0838: return Pts, dV, dXr, dYr, dZr
__Pyx_TraceLine(838,0,__PYX_ERR(0, 838, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dV); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dYr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dZr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0839:
0840:
0841:
0842:
0843:
0844:
0845:
0846: ########################################################
0847: ########################################################
0848: # Meshing - Surface - Tor
0849: ########################################################
0850:
+0851: def _getBoundsInter2AngSeg(bool Full, double Phi0, double Phi1, double DPhi0, double DPhi1):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_31_getBoundsInter2AngSeg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_30_getBoundsInter2AngSeg[] = " Return Inter=True if an intersection exist (all angles in radians in [-pi;pi])\n\n If Inter, return Bounds, a list of tuples indicating the segments defining the intersection, with\n The intervals are ordered from lowest index to highest index (with respect to [Phi0,Phi1])\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_31_getBoundsInter2AngSeg = {"_getBoundsInter2AngSeg", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_31_getBoundsInter2AngSeg, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_30_getBoundsInter2AngSeg};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_31_getBoundsInter2AngSeg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyBoolObject *__pyx_v_Full = 0;
double __pyx_v_Phi0;
double __pyx_v_Phi1;
double __pyx_v_DPhi0;
double __pyx_v_DPhi1;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_getBoundsInter2AngSeg (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Full,&__pyx_n_s_Phi0,&__pyx_n_s_Phi1,&__pyx_n_s_DPhi0,&__pyx_n_s_DPhi1,0};
PyObject* values[5] = {0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Full)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Phi0)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_getBoundsInter2AngSeg", 1, 5, 5, 1); __PYX_ERR(0, 851, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Phi1)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_getBoundsInter2AngSeg", 1, 5, 5, 2); __PYX_ERR(0, 851, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DPhi0)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_getBoundsInter2AngSeg", 1, 5, 5, 3); __PYX_ERR(0, 851, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DPhi1)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_getBoundsInter2AngSeg", 1, 5, 5, 4); __PYX_ERR(0, 851, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_getBoundsInter2AngSeg") < 0)) __PYX_ERR(0, 851, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
}
__pyx_v_Full = ((PyBoolObject *)values[0]);
__pyx_v_Phi0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_Phi0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 851, __pyx_L3_error)
__pyx_v_Phi1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_Phi1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 851, __pyx_L3_error)
__pyx_v_DPhi0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_DPhi0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 851, __pyx_L3_error)
__pyx_v_DPhi1 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_DPhi1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 851, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_getBoundsInter2AngSeg", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 851, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._getBoundsInter2AngSeg", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Full), __pyx_ptype_7cpython_4bool_bool, 1, "Full", 0))) __PYX_ERR(0, 851, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_30_getBoundsInter2AngSeg(__pyx_self, __pyx_v_Full, __pyx_v_Phi0, __pyx_v_Phi1, __pyx_v_DPhi0, __pyx_v_DPhi1);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_30_getBoundsInter2AngSeg(CYTHON_UNUSED PyObject *__pyx_self, PyBoolObject *__pyx_v_Full, double __pyx_v_Phi0, double __pyx_v_Phi1, double __pyx_v_DPhi0, double __pyx_v_DPhi1) {
PyObject *__pyx_v_Bounds = NULL;
int __pyx_v_Inter;
PyObject *__pyx_v_Faces = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__51)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_getBoundsInter2AngSeg", 0);
__Pyx_TraceCall("_getBoundsInter2AngSeg", __pyx_f[0], 851, 0, __PYX_ERR(0, 851, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("tofu.geom._GG03._getBoundsInter2AngSeg", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_Bounds);
__Pyx_XDECREF(__pyx_v_Faces);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__129 = PyTuple_Pack(8, __pyx_n_s_Full, __pyx_n_s_Phi0, __pyx_n_s_Phi1, __pyx_n_s_DPhi0, __pyx_n_s_DPhi1, __pyx_n_s_Bounds, __pyx_n_s_Inter, __pyx_n_s_Faces); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 851, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__129);
__Pyx_GIVEREF(__pyx_tuple__129);
/* … */
__Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_31_getBoundsInter2AngSeg, 0, __pyx_n_s_getBoundsInter2AngSeg, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 851, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_getBoundsInter2AngSeg, __pyx_t_2) < 0) __PYX_ERR(0, 851, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(5, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_getBoundsInter2AngSeg, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 851, __pyx_L1_error)
0852: """ Return Inter=True if an intersection exist (all angles in radians in [-pi;pi])
0853:
0854: If Inter, return Bounds, a list of tuples indicating the segments defining the intersection, with
0855: The intervals are ordered from lowest index to highest index (with respect to [Phi0,Phi1])
0856: """
+0857: if Full:
__Pyx_TraceLine(857,0,__PYX_ERR(0, 857, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_Full)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 857, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0858: Bounds = [[DPhi0,DPhi1]] if DPhi0<=DPhi1 else [[-Cpi,DPhi1],[DPhi0,Cpi]]
__Pyx_TraceLine(858,0,__PYX_ERR(0, 858, __pyx_L1_error)) if (((__pyx_v_DPhi0 <= __pyx_v_DPhi1) != 0)) { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } else { __pyx_t_4 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } __pyx_v_Bounds = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+0859: Inter = True
__Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L1_error)) __pyx_v_Inter = 1;
+0860: Faces = [None, None]
__Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L1_error)) __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_2, 0, Py_None); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_2, 1, Py_None); __pyx_v_Faces = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
0861:
0862: else:
+0863: Inter, Bounds, Faces = False, None, [False,False]
__Pyx_TraceLine(863,0,__PYX_ERR(0, 863, __pyx_L1_error)) /*else*/ { __pyx_t_1 = 0; __pyx_t_2 = Py_None; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); PyList_SET_ITEM(__pyx_t_4, 0, Py_False); __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); PyList_SET_ITEM(__pyx_t_4, 1, Py_False); __pyx_v_Inter = __pyx_t_1; __pyx_v_Bounds = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Faces = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+0864: if Phi0<=Phi1:
__Pyx_TraceLine(864,0,__PYX_ERR(0, 864, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_Phi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L4; }
+0865: if DPhi0<=DPhi1:
__Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_DPhi0 <= __pyx_v_DPhi1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+0866: if DPhi0<=Phi1 and DPhi1>=Phi0:
__Pyx_TraceLine(866,0,__PYX_ERR(0, 866, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L7_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L7_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0867: Inter = True
__Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L1_error)) __pyx_v_Inter = 1;
+0868: Bounds = [[None,None]]
__Pyx_TraceLine(868,0,__PYX_ERR(0, 868, __pyx_L1_error)) __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_4, 0, Py_None); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_4, 1, Py_None); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0;
+0869: Bounds[0][0] = Phi0 if DPhi0<=Phi0 else DPhi0
__Pyx_TraceLine(869,0,__PYX_ERR(0, 869, __pyx_L1_error)) if (((__pyx_v_DPhi0 <= __pyx_v_Phi0) != 0)) { __pyx_t_4 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } else { __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_t_4, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0870: Bounds[0][1] = Phi1 if DPhi1>=Phi1 else DPhi1
__Pyx_TraceLine(870,0,__PYX_ERR(0, 870, __pyx_L1_error)) if (((__pyx_v_DPhi1 >= __pyx_v_Phi1) != 0)) { __pyx_t_4 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } else { __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; } __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_t_4, 1, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 870, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0871: Faces[0] = DPhi0<=Phi0
__Pyx_TraceLine(871,0,__PYX_ERR(0, 871, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_DPhi0 <= __pyx_v_Phi0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 871, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0872: Faces[1] = DPhi1>=Phi1
__Pyx_TraceLine(872,0,__PYX_ERR(0, 872, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_DPhi1 >= __pyx_v_Phi1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 1, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0873: else:
+0874: if DPhi0<=Phi1 or DPhi1>=Phi0:
__Pyx_TraceLine(874,0,__PYX_ERR(0, 874, __pyx_L1_error)) /*else*/ { __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (!__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L10_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { /* … */ } } __pyx_L5:;
+0875: Inter = True
__Pyx_TraceLine(875,0,__PYX_ERR(0, 875, __pyx_L1_error)) __pyx_v_Inter = 1;
+0876: if DPhi0<=Phi1 and DPhi1>=Phi0:
__Pyx_TraceLine(876,0,__PYX_ERR(0, 876, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L13_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L13_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L12; }
+0877: Bounds = [[Phi0,DPhi1],[DPhi0,Phi1]]
__Pyx_TraceLine(877,0,__PYX_ERR(0, 877, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_6 = 0; __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0;
+0878: Faces = [True,True]
__Pyx_TraceLine(878,0,__PYX_ERR(0, 878, __pyx_L1_error)) __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_2, 0, Py_True); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_2, 1, Py_True); __Pyx_DECREF_SET(__pyx_v_Faces, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0;
0879: else:
+0880: Bounds = [[None,None]]
__Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L1_error)) /*else*/ { __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_2, 0, Py_None); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_2, 1, Py_None); __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+0881: if DPhi0<=Phi1:
__Pyx_TraceLine(881,0,__PYX_ERR(0, 881, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L15; }
+0882: Bounds[0][0] = Phi0 if DPhi0<=Phi0 else DPhi0
__Pyx_TraceLine(882,0,__PYX_ERR(0, 882, __pyx_L1_error)) if (((__pyx_v_DPhi0 <= __pyx_v_Phi0) != 0)) { __pyx_t_2 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { __pyx_t_2 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, 0, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0883: Bounds[0][1] = Phi1
__Pyx_TraceLine(883,0,__PYX_ERR(0, 883, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, 1, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0884: Faces[0] = DPhi0<=Phi0
__Pyx_TraceLine(884,0,__PYX_ERR(0, 884, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_DPhi0 <= __pyx_v_Phi0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 0, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0885: Faces[1] = True
__Pyx_TraceLine(885,0,__PYX_ERR(0, 885, __pyx_L1_error)) if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 1, Py_True, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 885, __pyx_L1_error)
0886: else:
+0887: Bounds[0][0] = Phi0
__Pyx_TraceLine(887,0,__PYX_ERR(0, 887, __pyx_L1_error)) /*else*/ { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, 0, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0888: Bounds[0][1] = Phi1 if DPhi1>=Phi1 else DPhi1
__Pyx_TraceLine(888,0,__PYX_ERR(0, 888, __pyx_L1_error)) if (((__pyx_v_DPhi1 >= __pyx_v_Phi1) != 0)) { __pyx_t_2 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { __pyx_t_2 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, 1, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0889: Faces[0] = True
__Pyx_TraceLine(889,0,__PYX_ERR(0, 889, __pyx_L1_error)) if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 0, Py_True, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 889, __pyx_L1_error)
+0890: Faces[1] = DPhi1>=Phi1
__Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_DPhi1 >= __pyx_v_Phi1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 1, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L15:; } __pyx_L12:;
0891: else:
+0892: if DPhi0<=DPhi1:
__Pyx_TraceLine(892,0,__PYX_ERR(0, 892, __pyx_L1_error)) /*else*/ { __pyx_t_1 = ((__pyx_v_DPhi0 <= __pyx_v_DPhi1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L16; }
+0893: if DPhi0<=Phi1 or DPhi1>=Phi0:
__Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (!__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L18_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L18_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0894: Inter = True
__Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L1_error)) __pyx_v_Inter = 1;
+0895: if DPhi0<=Phi1 and DPhi1>=Phi0:
__Pyx_TraceLine(895,0,__PYX_ERR(0, 895, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L21_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L21_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L20; }
+0896: Bounds = [[Phi0,DPhi1],[DPhi0,Phi1]]
__Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+0897: Faces = [True,True]
__Pyx_TraceLine(897,0,__PYX_ERR(0, 897, __pyx_L1_error)) __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_3, 0, Py_True); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_3, 1, Py_True); __Pyx_DECREF_SET(__pyx_v_Faces, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
0898: else:
+0899: Bounds = [[None,None]]
__Pyx_TraceLine(899,0,__PYX_ERR(0, 899, __pyx_L1_error)) /*else*/ { __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_3, 0, Py_None); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_3, 1, Py_None); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0;
+0900: if DPhi0<=Phi1:
__Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L23; }
+0901: Bounds[0][0] = DPhi0
__Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0902: Bounds[0][1] = Phi1 if DPhi1>=Phi1 else DPhi1
__Pyx_TraceLine(902,0,__PYX_ERR(0, 902, __pyx_L1_error)) if (((__pyx_v_DPhi1 >= __pyx_v_Phi1) != 0)) { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __pyx_t_3 = 0; } else { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 1, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0903: Faces[1] = DPhi1>=Phi1
__Pyx_TraceLine(903,0,__PYX_ERR(0, 903, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyBool_FromLong((__pyx_v_DPhi1 >= __pyx_v_Phi1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 1, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 903, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0904: else:
+0905: Bounds[0][0] = Phi0 if DPhi0<=Phi0 else DPhi0
__Pyx_TraceLine(905,0,__PYX_ERR(0, 905, __pyx_L1_error)) /*else*/ { if (((__pyx_v_DPhi0 <= __pyx_v_Phi0) != 0)) { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __pyx_t_3 = 0; } else { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 905, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0906: Bounds[0][1] = DPhi1
__Pyx_TraceLine(906,0,__PYX_ERR(0, 906, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 1, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0907: Faces[0] = DPhi0<=Phi0
__Pyx_TraceLine(907,0,__PYX_ERR(0, 907, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyBool_FromLong((__pyx_v_DPhi0 <= __pyx_v_Phi0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_L23:; } __pyx_L20:;
0908: else:
+0909: Inter = True
__Pyx_TraceLine(909,0,__PYX_ERR(0, 909, __pyx_L1_error)) /*else*/ { __pyx_v_Inter = 1;
+0910: if DPhi0>=Phi0 and DPhi1>=Phi0:
__Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 >= __pyx_v_Phi0) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L25_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 >= __pyx_v_Phi0) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L25_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L24; }
+0911: Bounds = [[Phi0,DPhi1],[DPhi0,Cpi],[-Cpi,Phi1]]
__Pyx_TraceLine(911,0,__PYX_ERR(0, 911, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+0912: Faces = [True,True]
__Pyx_TraceLine(912,0,__PYX_ERR(0, 912, __pyx_L1_error)) __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_3, 0, Py_True); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_3, 1, Py_True); __Pyx_DECREF_SET(__pyx_v_Faces, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+0913: elif DPhi0<=Phi1 and DPhi1<=Phi1:
__Pyx_TraceLine(913,0,__PYX_ERR(0, 913, __pyx_L1_error)) __pyx_t_7 = ((__pyx_v_DPhi0 <= __pyx_v_Phi1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L27_bool_binop_done; } __pyx_t_7 = ((__pyx_v_DPhi1 <= __pyx_v_Phi1) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L27_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L24; }
+0914: Bounds = [[Phi0,Cpi],[-Cpi,DPhi1],[DPhi0,Phi1]]
__Pyx_TraceLine(914,0,__PYX_ERR(0, 914, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0;
+0915: Faces = [True,True]
__Pyx_TraceLine(915,0,__PYX_ERR(0, 915, __pyx_L1_error)) __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_5, 0, Py_True); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); PyList_SET_ITEM(__pyx_t_5, 1, Py_True); __Pyx_DECREF_SET(__pyx_v_Faces, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0;
0916: else:
+0917: Bounds = [[None,Cpi],[-Cpi,None]]
__Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L1_error)) /*else*/ { __pyx_t_5 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_4, 0, Py_None); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_6, 1, Py_None); __pyx_t_5 = 0; __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_Bounds, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0;
+0918: Bounds[0][0] = Phi0 if DPhi0<=Phi0 else DPhi0
__Pyx_TraceLine(918,0,__PYX_ERR(0, 918, __pyx_L1_error)) if (((__pyx_v_DPhi0 <= __pyx_v_Phi0) != 0)) { __pyx_t_6 = PyFloat_FromDouble(__pyx_v_Phi0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; } else { __pyx_t_6 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; } __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_SetItemInt(__pyx_t_6, 0, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0919: Bounds[1][1] = Phi1 if DPhi1>=Phi1 else DPhi1
__Pyx_TraceLine(919,0,__PYX_ERR(0, 919, __pyx_L1_error)) if (((__pyx_v_DPhi1 >= __pyx_v_Phi1) != 0)) { __pyx_t_6 = PyFloat_FromDouble(__pyx_v_Phi1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; } else { __pyx_t_6 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; } __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_Bounds, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_SetItemInt(__pyx_t_6, 1, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0920: Faces[0] = DPhi0<=Phi0
__Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyBool_FromLong((__pyx_v_DPhi0 <= __pyx_v_Phi0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 0, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0921: Faces[1] = DPhi1>=Phi1
__Pyx_TraceLine(921,0,__PYX_ERR(0, 921, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyBool_FromLong((__pyx_v_DPhi1 >= __pyx_v_Phi1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_v_Faces, 1, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L24:; } __pyx_L16:; } __pyx_L4:; } __pyx_L3:;
+0922: return Inter, Bounds, Faces
__Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_Inter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_INCREF(__pyx_v_Bounds); __Pyx_GIVEREF(__pyx_v_Bounds); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_Bounds); __Pyx_INCREF(__pyx_v_Faces); __Pyx_GIVEREF(__pyx_v_Faces); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_Faces); __pyx_t_5 = 0; __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0;
0923:
0924:
0925:
0926:
0927: @cython.cdivision(True)
0928: @cython.wraparound(False)
0929: @cython.boundscheck(False)
+0930: def _Ves_Smesh_Tor_SubFromD_cython(double dL, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_33_Ves_Smesh_Tor_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_32_Ves_Smesh_Tor_SubFromD_cython[] = " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_33_Ves_Smesh_Tor_SubFromD_cython = {"_Ves_Smesh_Tor_SubFromD_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_33_Ves_Smesh_Tor_SubFromD_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_32_Ves_Smesh_Tor_SubFromD_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_33_Ves_Smesh_Tor_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dL;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_DR = 0;
PyObject *__pyx_v_DZ = 0;
PyObject *__pyx_v_DPhi = 0;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_PhiMinMax = 0;
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Tor_SubFromD_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dL,&__pyx_n_s_dRPhi,&__pyx_n_s_VPoly,&__pyx_n_s_DR,&__pyx_n_s_DZ,&__pyx_n_s_DPhi,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_PhiMinMax,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_32_Ves_Smesh_Tor_SubFromD_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dL, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_VPoly, PyObject *__pyx_v_DR, PyObject *__pyx_v_DZ, PyObject *__pyx_v_DPhi, double __pyx_v_DIn, PyObject *__pyx_v_VIn, PyObject *__pyx_v_PhiMinMax, PyObject *__pyx_v_Out, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_dPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_DPhi0;
double __pyx_v_DPhi1;
CYTHON_UNUSED double __pyx_v_DDPhi;
double __pyx_v_DPhiMinMax;
double __pyx_v_abs0;
double __pyx_v_abs1;
double __pyx_v_phi;
double __pyx_v_indiijj;
__Pyx_memviewslice __pyx_v_Phin = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi0 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_Indin = { 0, 0, { 0 }, { 0 }, { 0 } };
int __pyx_v_NR0;
int __pyx_v_nRPhi0;
int __pyx_v_indR0ii;
int __pyx_v_ii;
int __pyx_v_jj0;
int __pyx_v_jj;
int __pyx_v_nPhi0;
int __pyx_v_nPhi1;
int __pyx_v_NP;
CYTHON_UNUSED int __pyx_v_NRPhi_int;
int __pyx_v_Rratio;
int __pyx_v_Ln;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_indI = 0;
PyArrayObject *__pyx_v_PtsCross = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_R0 = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_ind = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_dRPhir = 0;
PyArrayObject *__pyx_v_iii = 0;
PyArrayObject *__pyx_v_indL = 0;
PyArrayObject *__pyx_v_NL = 0;
PyArrayObject *__pyx_v_indok = 0;
int __pyx_v_Full;
PyObject *__pyx_v_Inter = NULL;
PyObject *__pyx_v_Bounds = NULL;
CYTHON_UNUSED PyObject *__pyx_v_Faces = NULL;
PyObject *__pyx_v_BC = NULL;
Py_ssize_t __pyx_v_nBounds;
PyObject *__pyx_v_indin = NULL;
CYTHON_UNUSED long __pyx_v_NPhimax;
PyObject *__pyx_v_indBounds = NULL;
Py_ssize_t __pyx_v_kk;
PyObject *__pyx_v_kkb = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsCross;
__Pyx_Buffer __pyx_pybuffer_PtsCross;
__Pyx_LocalBuf_ND __pyx_pybuffernd_R0;
__Pyx_Buffer __pyx_pybuffer_R0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dRPhir;
__Pyx_Buffer __pyx_pybuffer_dRPhir;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_iii;
__Pyx_Buffer __pyx_pybuffer_iii;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indI;
__Pyx_Buffer __pyx_pybuffer_indI;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indL;
__Pyx_Buffer __pyx_pybuffer_indL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indok;
__Pyx_Buffer __pyx_pybuffer_indok;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__52)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Tor_SubFromD_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_Tor_SubFromD_cython", __pyx_f[0], 930, 0, __PYX_ERR(0, 930, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_PhiMinMax);
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_indI.pybuffer.buf = NULL;
__pyx_pybuffer_indI.refcount = 0;
__pyx_pybuffernd_indI.data = NULL;
__pyx_pybuffernd_indI.rcbuffer = &__pyx_pybuffer_indI;
__pyx_pybuffer_PtsCross.pybuffer.buf = NULL;
__pyx_pybuffer_PtsCross.refcount = 0;
__pyx_pybuffernd_PtsCross.data = NULL;
__pyx_pybuffernd_PtsCross.rcbuffer = &__pyx_pybuffer_PtsCross;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_R0.pybuffer.buf = NULL;
__pyx_pybuffer_R0.refcount = 0;
__pyx_pybuffernd_R0.data = NULL;
__pyx_pybuffernd_R0.rcbuffer = &__pyx_pybuffer_R0;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_dRPhir.pybuffer.buf = NULL;
__pyx_pybuffer_dRPhir.refcount = 0;
__pyx_pybuffernd_dRPhir.data = NULL;
__pyx_pybuffernd_dRPhir.rcbuffer = &__pyx_pybuffer_dRPhir;
__pyx_pybuffer_iii.pybuffer.buf = NULL;
__pyx_pybuffer_iii.refcount = 0;
__pyx_pybuffernd_iii.data = NULL;
__pyx_pybuffernd_iii.rcbuffer = &__pyx_pybuffer_iii;
__pyx_pybuffer_indL.pybuffer.buf = NULL;
__pyx_pybuffer_indL.refcount = 0;
__pyx_pybuffernd_indL.data = NULL;
__pyx_pybuffernd_indL.rcbuffer = &__pyx_pybuffer_indL;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
__pyx_pybuffer_indok.pybuffer.buf = NULL;
__pyx_pybuffer_indok.refcount = 0;
__pyx_pybuffernd_indok.data = NULL;
__pyx_pybuffernd_indok.rcbuffer = &__pyx_pybuffer_indok;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_15);
__PYX_XDEC_MEMVIEW(&__pyx_t_26, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_27, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indok.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Tor_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indok.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_dPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Phin, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi0, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Indin, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_indI);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsCross);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_R0);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_dRPhir);
__Pyx_XDECREF((PyObject *)__pyx_v_iii);
__Pyx_XDECREF((PyObject *)__pyx_v_indL);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF((PyObject *)__pyx_v_indok);
__Pyx_XDECREF(__pyx_v_Inter);
__Pyx_XDECREF(__pyx_v_Bounds);
__Pyx_XDECREF(__pyx_v_Faces);
__Pyx_XDECREF(__pyx_v_BC);
__Pyx_XDECREF(__pyx_v_indin);
__Pyx_XDECREF(__pyx_v_indBounds);
__Pyx_XDECREF(__pyx_v_kkb);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XDECREF(__pyx_v_PhiMinMax);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__130 = PyTuple_Pack(74, __pyx_n_s_dL, __pyx_n_s_dRPhi, __pyx_n_s_VPoly, __pyx_n_s_DR, __pyx_n_s_DZ, __pyx_n_s_DPhi, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_PhiMinMax, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_R, __pyx_n_s_Z, __pyx_n_s_dPhir, __pyx_n_s_NRPhi, __pyx_n_s_dRr0, __pyx_n_s_dRr, __pyx_n_s_dZr, __pyx_n_s_DPhi0, __pyx_n_s_DPhi1, __pyx_n_s_DDPhi, __pyx_n_s_DPhiMinMax, __pyx_n_s_abs0, __pyx_n_s_abs1, __pyx_n_s_phi, __pyx_n_s_indiijj, __pyx_n_s_indR0, __pyx_n_s_indR, __pyx_n_s_indZ, __pyx_n_s_Phin, __pyx_n_s_NRPhi0, __pyx_n_s_Indin, __pyx_n_s_NR0, __pyx_n_s_NR, __pyx_n_s_NZ, __pyx_n_s_Rn, __pyx_n_s_Zn, __pyx_n_s_nRPhi0, __pyx_n_s_indR0ii, __pyx_n_s_ii, __pyx_n_s_jj0, __pyx_n_s_jj, __pyx_n_s_nPhi0, __pyx_n_s_nPhi1, __pyx_n_s_zz, __pyx_n_s_NP, __pyx_n_s_NRPhi_int, __pyx_n_s_Rratio, __pyx_n_s_Ln, __pyx_n_s_Pts, __pyx_n_s_indI, __pyx_n_s_PtsCross, __pyx_n_s_VPbis, __pyx_n_s_R0, __pyx_n_s_dS, __pyx_n_s_ind, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_dRPhir, __pyx_n_s_iii, __pyx_n_s_indL, __pyx_n_s_NL, __pyx_n_s_indok, __pyx_n_s_Full, __pyx_n_s_Inter, __pyx_n_s_Bounds, __pyx_n_s_Faces, __pyx_n_s_BC, __pyx_n_s_nBounds, __pyx_n_s_indin, __pyx_n_s_NPhimax, __pyx_n_s_indBounds, __pyx_n_s_kk, __pyx_n_s_kkb); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 930, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__130);
__Pyx_GIVEREF(__pyx_tuple__130);
/* … */
__Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L1_error))
__pyx_t_1 = PyTuple_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 930, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 5, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_1, 6, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_t_4);
__pyx_t_2 = 0;
__pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_33_Ves_Smesh_Tor_SubFromD_cython, 0, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 930, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython, __pyx_t_4) < 0) __PYX_ERR(0, 930, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(11, 0, 74, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 930, __pyx_L1_error)
0931: double[:,::1] VPoly,
+0932: DR=None, DZ=None, DPhi=None,
values[3] = ((PyObject *)((PyObject *)Py_None));
values[4] = ((PyObject *)((PyObject *)Py_None));
values[5] = ((PyObject *)((PyObject *)Py_None));
+0933: double DIn=0., VIn=None, PhiMinMax=None,
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromD_cython", 0, 3, 11, 1); __PYX_ERR(0, 930, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromD_cython", 0, 3, 11, 2); __PYX_ERR(0, 930, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DR);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DZ);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DPhi);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_PhiMinMax);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[10] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_Tor_SubFromD_cython") < 0)) __PYX_ERR(0, 930, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 930, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 930, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 931, __pyx_L3_error)
__pyx_v_DR = values[3];
__pyx_v_DZ = values[4];
__pyx_v_DPhi = values[5];
if (values[6]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 933, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[7];
__pyx_v_PhiMinMax = values[8];
__pyx_v_Out = ((PyObject*)values[9]);
if (values[10]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 934, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromD_cython", 0, 3, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 930, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Tor_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 934, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_32_Ves_Smesh_Tor_SubFromD_cython(__pyx_self, __pyx_v_dL, __pyx_v_dRPhi, __pyx_v_VPoly, __pyx_v_DR, __pyx_v_DZ, __pyx_v_DPhi, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_PhiMinMax, __pyx_v_Out, __pyx_v_margin);
/* … */
__Pyx_TraceLine(933,0,__PYX_ERR(0, 933, __pyx_L1_error))
__pyx_t_2 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+0934: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
0935: " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) "
0936: cdef double[::1] R, Z, dPhir, NRPhi#, dPhi, NRZPhi_cum0, indPhi, phi
0937: cdef double dRr0, dRr, dZr, DPhi0, DPhi1, DDPhi, DPhiMinMax
0938: cdef double abs0, abs1, phi, indiijj
0939: cdef long[::1] indR0, indR, indZ, Phin, NRPhi0, Indin
+0940: cdef int NR0, NR, NZ, Rn, Zn, nRPhi0, indR0ii, ii, jj0=0, jj, nPhi0, nPhi1, zz, NP, NRPhi_int, Rratio, Ln
__Pyx_TraceLine(940,0,__PYX_ERR(0, 940, __pyx_L1_error)) __pyx_v_jj0 = 0;
0941: cdef cnp.ndarray[double,ndim=2] Pts, indI, PtsCross, VPbis
0942: cdef cnp.ndarray[double,ndim=1] R0, dS, ind, dLr, Rref, dRPhir, iii
0943: cdef cnp.ndarray[long,ndim=1] indL, NL, indok
0944:
0945: # Pre-format input
+0946: if PhiMinMax is None:
__Pyx_TraceLine(946,0,__PYX_ERR(0, 946, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_PhiMinMax == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0947: PhiMinMax = [-Cpi,Cpi]
__Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_PhiMinMax, __pyx_t_5); __pyx_t_5 = 0;
+0948: DPhiMinMax = 2.*Cpi
__Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L1_error)) __pyx_v_DPhiMinMax = (2. * M_PI);
+0949: Full = True
__Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L1_error)) __pyx_v_Full = 1;
0950: else:
+0951: PhiMinMax = [Catan2(Csin(PhiMinMax[0]),Ccos(PhiMinMax[0])), Catan2(Csin(PhiMinMax[1]),Ccos(PhiMinMax[1]))]
__Pyx_TraceLine(951,0,__PYX_ERR(0, 951, __pyx_L1_error)) /*else*/ { __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(atan2(sin(__pyx_t_6), cos(__pyx_t_7))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(atan2(sin(__pyx_t_7), cos(__pyx_t_6))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_PhiMinMax, __pyx_t_3); __pyx_t_3 = 0;
+0952: DPhiMinMax = PhiMinMax[1]-PhiMinMax[0] if PhiMinMax[1]>=PhiMinMax[0] else 2.*Cpi + PhiMinMax[1] - PhiMinMax[0]
__Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_2) { __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_7; } else { __pyx_t_3 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_7; } __pyx_v_DPhiMinMax = __pyx_t_6;
+0953: Full = False
__Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L1_error)) __pyx_v_Full = 0; } __pyx_L3:;
0954:
0955: # Get the limits if any (and make sure to replace them in the proper quadrants)
+0956: if DPhi is None:
__Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L1_error)) __pyx_t_2 = (__pyx_v_DPhi == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L4; }
+0957: DPhi0, DPhi1 = PhiMinMax[0], PhiMinMax[1]
__Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_DPhi0 = __pyx_t_6; __pyx_v_DPhi1 = __pyx_t_7;
0958: else:
+0959: DPhi0 = PhiMinMax[0] if DPhi[0] is None else Catan2(Csin(DPhi[0]),Ccos(DPhi[0]))
__Pyx_TraceLine(959,0,__PYX_ERR(0, 959, __pyx_L1_error)) /*else*/ { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = (__pyx_t_3 == Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((__pyx_t_1 != 0)) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_t_6; } else { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = atan2(sin(__pyx_t_6), cos(__pyx_t_8)); } __pyx_v_DPhi0 = __pyx_t_7;
+0960: DPhi1 = PhiMinMax[1] if DPhi[1] is None else Catan2(Csin(DPhi[1]),Ccos(DPhi[1]))
__Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = (__pyx_t_3 == Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((__pyx_t_1 != 0)) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_t_8; } else { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = atan2(sin(__pyx_t_8), cos(__pyx_t_6)); } __pyx_v_DPhi1 = __pyx_t_7; } __pyx_L4:;
+0961: DDPhi = DPhi1-DPhi0 if DPhi1>DPhi0 else 2.*Cpi+DPhi1-DPhi0
__Pyx_TraceLine(961,0,__PYX_ERR(0, 961, __pyx_L1_error)) if (((__pyx_v_DPhi1 > __pyx_v_DPhi0) != 0)) { __pyx_t_7 = (__pyx_v_DPhi1 - __pyx_v_DPhi0); } else { __pyx_t_7 = (((2. * M_PI) + __pyx_v_DPhi1) - __pyx_v_DPhi0); } __pyx_v_DDPhi = __pyx_t_7;
0962:
+0963: Inter, Bounds, Faces = _getBoundsInter2AngSeg(Full, PhiMinMax[0], PhiMinMax[1], DPhi0, DPhi1)
__Pyx_TraceLine(963,0,__PYX_ERR(0, 963, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_getBoundsInter2AngSeg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_Full); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyFloat_FromDouble(__pyx_v_DPhi0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyFloat_FromDouble(__pyx_v_DPhi1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = NULL; __pyx_t_14 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_14 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[6] = {__pyx_t_13, __pyx_t_5, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 5+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[6] = {__pyx_t_13, __pyx_t_5, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 5+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif { __pyx_t_15 = PyTuple_New(5+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_14, __pyx_t_12); __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 963, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_15 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_12 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_15 = PyList_GET_ITEM(sequence, 1); __pyx_t_12 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_12); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_11)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_16(__pyx_t_11); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_15 = __pyx_t_16(__pyx_t_11); if (unlikely(!__pyx_t_15)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_15); index = 2; __pyx_t_12 = __pyx_t_16(__pyx_t_11); if (unlikely(!__pyx_t_12)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_12); if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_11), 3) < 0) __PYX_ERR(0, 963, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 963, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_v_Inter = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_Bounds = __pyx_t_15; __pyx_t_15 = 0; __pyx_v_Faces = __pyx_t_12; __pyx_t_12 = 0;
0964:
+0965: if Inter:
__Pyx_TraceLine(965,0,__PYX_ERR(0, 965, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Inter); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 965, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L7; }
0966:
+0967: BC = list(Bounds)
__Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L1_error)) __pyx_t_3 = PySequence_List(__pyx_v_Bounds); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_BC = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+0968: nBounds = len(Bounds)
__Pyx_TraceLine(968,0,__PYX_ERR(0, 968, __pyx_L1_error)) __pyx_t_17 = PyObject_Length(__pyx_v_Bounds); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 968, __pyx_L1_error) __pyx_v_nBounds = __pyx_t_17;
+0969: for ii in range(0,nBounds):
__Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L1_error)) __pyx_t_17 = __pyx_v_nBounds; __pyx_t_18 = __pyx_t_17; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_18; __pyx_t_14+=1) { __pyx_v_ii = __pyx_t_14;
+0970: if BC[ii][0]<PhiMinMax[0]:
__Pyx_TraceLine(970,0,__PYX_ERR(0, 970, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = PyObject_RichCompare(__pyx_t_3, __pyx_t_12, Py_LT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_1) { /* … */ }
+0971: BC[ii][0] += 2.*Cpi
__Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L1_error)) __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii)); __pyx_t_15 = PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii); __pyx_t_19 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_15, __pyx_t_19, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_12, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_15, __pyx_t_19, __pyx_t_4, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+0972: if BC[ii][1]<=PhiMinMax[0]:
__Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L1_error)) __pyx_t_15 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii), 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyObject_RichCompare(__pyx_t_15, __pyx_t_4, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 972, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 972, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ } }
+0973: BC[ii][1] += 2.*Cpi
__Pyx_TraceLine(973,0,__PYX_ERR(0, 973, __pyx_L1_error)) __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii)); __pyx_t_3 = PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii); __pyx_t_19 = 1; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, __pyx_t_19, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_19, __pyx_t_12, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 973, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0974:
0975: # Get the actual R and Z resolutions and mesh elements
+0976: PtsCross, dLr, indL, NL, Rref, VPbis = _Ves_Smesh_Cross(VPoly, dL, D1=None, D2=None, margin=margin, DIn=DIn, VIn=VIn)
__Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ves_Smesh_Cross); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_15); __pyx_t_12 = 0; __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_D1, Py_None) < 0) __PYX_ERR(0, 976, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_D2, Py_None) < 0) __PYX_ERR(0, 976, __pyx_L1_error) __pyx_t_12 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_margin, __pyx_t_12) < 0) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_DIn, __pyx_t_12) < 0) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 976, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_12))) || (PyList_CheckExact(__pyx_t_12))) { PyObject* sequence = __pyx_t_12; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 976, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_15 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_15 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_11 = PyList_GET_ITEM(sequence, 3); __pyx_t_10 = PyList_GET_ITEM(sequence, 4); __pyx_t_9 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_15,&__pyx_t_4,&__pyx_t_3,&__pyx_t_11,&__pyx_t_10,&__pyx_t_9}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_15,&__pyx_t_4,&__pyx_t_3,&__pyx_t_11,&__pyx_t_10,&__pyx_t_9}; __pyx_t_5 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_5)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_16(__pyx_t_5); if (unlikely(!item)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_5), 6) < 0) __PYX_ERR(0, 976, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 976, __pyx_L1_error) __pyx_L13_unpacking_done:; } if (!(likely(((__pyx_t_15) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_15, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 976, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_15); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_20 = 0; __pyx_v_PtsCross = ((PyArrayObject *)__pyx_t_15); __pyx_t_15 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_v_indL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_indL.diminfo[0].strides = __pyx_pybuffernd_indL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indL.diminfo[0].shape = __pyx_pybuffernd_indL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_indL = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_11); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_11); __pyx_t_11 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_10); __pyx_t_10 = 0; __pyx_t_20 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 976, __pyx_L1_error) } __pyx_t_20 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0;
+0977: R0 = np.copy(Rref)
__Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_copy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_12 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_9, ((PyObject *)__pyx_v_Rref)) : __Pyx_PyObject_CallOneArg(__pyx_t_10, ((PyObject *)__pyx_v_Rref)); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 977, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_v_R0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_R0.diminfo[0].strides = __pyx_pybuffernd_R0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_R0.diminfo[0].shape = __pyx_pybuffernd_R0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 977, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_R0 = ((PyArrayObject *)__pyx_t_12); __pyx_t_12 = 0;
+0978: NR0 = R0.size
__Pyx_TraceLine(978,0,__PYX_ERR(0, 978, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_R0), __pyx_n_s_size); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_NR0 = __pyx_t_14;
+0979: indin = np.ones((PtsCross.shape[1],),dtype=bool)
__Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_PtsCross->dimensions[1])); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 979, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_indin = __pyx_t_11; __pyx_t_11 = 0;
+0980: if DR is not None:
__Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_DR != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+0981: indin = indin & (R0>=DR[0]) & (R0<=DR[1])
__Pyx_TraceLine(981,0,__PYX_ERR(0, 981, __pyx_L1_error)) __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_DR, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = PyObject_RichCompare(((PyObject *)__pyx_v_R0), __pyx_t_11, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_And(__pyx_v_indin, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_DR, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = PyObject_RichCompare(((PyObject *)__pyx_v_R0), __pyx_t_9, Py_LE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_And(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_9); __pyx_t_9 = 0;
+0982: if DZ is not None:
__Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L1_error)) __pyx_t_2 = (__pyx_v_DZ != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ }
+0983: indin = indin & (PtsCross[1,:]>=DZ[0]) & (PtsCross[1,:]<=DZ[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(983,0,__PYX_ERR(0, 983, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_DZ, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_t_12, Py_GE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_And(__pyx_v_indin, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_11 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_DZ, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyObject_RichCompare(__pyx_t_11, __pyx_t_9, Py_LE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_And(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_9); __pyx_t_9 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+0984: PtsCross, dLr, indL, Rref = PtsCross[:,indin], dLr[indin], indL[indin], Rref[indin]
__Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L1_error)) __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_indin); __pyx_t_10 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 984, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), __pyx_v_indin); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 984, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indL), __pyx_v_indin); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 984, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Rref), __pyx_v_indin); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 984, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 984, __pyx_L1_error) } __pyx_t_20 = 0; __Pyx_DECREF_SET(__pyx_v_PtsCross, ((PyArrayObject *)__pyx_t_10)); __pyx_t_10 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 984, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_dLr, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_v_indL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_indL.diminfo[0].strides = __pyx_pybuffernd_indL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indL.diminfo[0].shape = __pyx_pybuffernd_indL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 984, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_indL, ((PyArrayObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_11); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 984, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_Rref, ((PyArrayObject *)__pyx_t_11)); __pyx_t_11 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+0985: Ln = indin.sum()
__Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_12); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_11); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_Ln = __pyx_t_14;
+0986: Indin = indin.nonzero()[0]
__Pyx_TraceLine(986,0,__PYX_ERR(0, 986, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_12); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_26 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_12, PyBUF_WRITABLE); if (unlikely(!__pyx_t_26.memview)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_Indin = __pyx_t_26; __pyx_t_26.memview = NULL; __pyx_t_26.data = NULL;
0987:
+0988: dRPhir, dPhir = np.empty((Ln,)), np.empty((Ln,))
__Pyx_TraceLine(988,0,__PYX_ERR(0, 988, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_empty); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_empty); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_10, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_3); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_27 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_9, PyBUF_WRITABLE); if (unlikely(!__pyx_t_27.memview)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 988, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_12); __pyx_t_12 = 0; __pyx_v_dPhir = __pyx_t_27; __pyx_t_27.memview = NULL; __pyx_t_27.data = NULL;
+0989: Phin = np.zeros((Ln,),dtype=int)
__Pyx_TraceLine(989,0,__PYX_ERR(0, 989, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 989, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_26 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_26.memview)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_Phin = __pyx_t_26; __pyx_t_26.memview = NULL; __pyx_t_26.data = NULL;
+0990: NRPhi = np.empty((Ln,))
__Pyx_TraceLine(990,0,__PYX_ERR(0, 990, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_empty); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_9); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_27 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_3, PyBUF_WRITABLE); if (unlikely(!__pyx_t_27.memview)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_NRPhi = __pyx_t_27; __pyx_t_27.memview = NULL; __pyx_t_27.data = NULL;
+0991: NRPhi0 = np.zeros((Ln,),dtype=int)
__Pyx_TraceLine(991,0,__PYX_ERR(0, 991, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 991, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_26 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_11, PyBUF_WRITABLE); if (unlikely(!__pyx_t_26.memview)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_NRPhi0 = __pyx_t_26; __pyx_t_26.memview = NULL; __pyx_t_26.data = NULL;
+0992: nRPhi0, indR0ii = 0, 0
__Pyx_TraceLine(992,0,__PYX_ERR(0, 992, __pyx_L1_error)) __pyx_t_14 = 0; __pyx_t_28 = 0; __pyx_v_nRPhi0 = __pyx_t_14; __pyx_v_indR0ii = __pyx_t_28;
+0993: NP, NPhimax = 0, 0
__Pyx_TraceLine(993,0,__PYX_ERR(0, 993, __pyx_L1_error)) __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_v_NP = __pyx_t_28; __pyx_v_NPhimax = __pyx_t_29;
+0994: Rratio = int(Cceil(np.max(Rref)/np.min(Rref)))
__Pyx_TraceLine(994,0,__PYX_ERR(0, 994, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_11 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, ((PyObject *)__pyx_v_Rref)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_Rref)); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_min); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_9, ((PyObject *)__pyx_v_Rref)) : __Pyx_PyObject_CallOneArg(__pyx_t_12, ((PyObject *)__pyx_v_Rref)); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_11, __pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_Rratio = ((int)ceil(__pyx_t_7));
+0995: indBounds = np.empty((2,nBounds),dtype=int)
__Pyx_TraceLine(995,0,__PYX_ERR(0, 995, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_nBounds); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 995, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_indBounds = __pyx_t_9; __pyx_t_9 = 0;
+0996: for ii in range(0,Ln):
__Pyx_TraceLine(996,0,__PYX_ERR(0, 996, __pyx_L1_error)) __pyx_t_28 = __pyx_v_Ln; __pyx_t_14 = __pyx_t_28; for (__pyx_t_30 = 0; __pyx_t_30 < __pyx_t_14; __pyx_t_30+=1) { __pyx_v_ii = __pyx_t_30;
0997: # Get the actual RPhi resolution and Phi mesh elements (! depends on R !)
+0998: NRPhi[ii] = Cceil(DPhiMinMax*Rref[ii]/dRPhi)
__Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L1_error)) __pyx_t_31 = __pyx_v_ii; __pyx_t_32 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_32)) )) = ceil(((__pyx_v_DPhiMinMax * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Rref.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_Rref.diminfo[0].strides))) / __pyx_v_dRPhi));
+0999: NRPhi_int = int(NRPhi[ii])
__Pyx_TraceLine(999,0,__PYX_ERR(0, 999, __pyx_L1_error)) __pyx_t_33 = __pyx_v_ii; __pyx_v_NRPhi_int = ((int)(*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_33)) ))));
+1000: dPhir[ii] = DPhiMinMax/NRPhi[ii]
__Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L1_error)) __pyx_t_34 = __pyx_v_ii; __pyx_t_35 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_35)) )) = (__pyx_v_DPhiMinMax / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_NRPhi.data) + __pyx_t_34)) ))));
+1001: dRPhir[ii] = dPhir[ii]*Rref[ii]
__Pyx_TraceLine(1001,0,__PYX_ERR(0, 1001, __pyx_L1_error)) __pyx_t_36 = __pyx_v_ii; __pyx_t_37 = __pyx_v_ii; __pyx_t_38 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_dRPhir.diminfo[0].strides) = ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_36)) ))) * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Rref.rcbuffer->pybuffer.buf, __pyx_t_37, __pyx_pybuffernd_Rref.diminfo[0].strides)));
1002: # Get index and cumulated indices from background
+1003: for jj0 in range(indR0ii,NR0):
__Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) __pyx_t_39 = __pyx_v_NR0; __pyx_t_40 = __pyx_t_39; for (__pyx_t_41 = __pyx_v_indR0ii; __pyx_t_41 < __pyx_t_40; __pyx_t_41+=1) { __pyx_v_jj0 = __pyx_t_41;
+1004: if jj0==Indin[ii]:
__Pyx_TraceLine(1004,0,__PYX_ERR(0, 1004, __pyx_L1_error)) __pyx_t_42 = __pyx_v_ii; __pyx_t_1 = ((__pyx_v_jj0 == (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Indin.data) + __pyx_t_42)) )))) != 0); if (__pyx_t_1) { /* … */ }
+1005: indR0ii = jj0
__Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L1_error)) __pyx_v_indR0ii = __pyx_v_jj0;
+1006: break
__Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L1_error)) goto __pyx_L19_break;
1007: else:
+1008: nRPhi0 += <long>Cceil(DPhiMinMax*R0[jj0]/dRPhi)
__Pyx_TraceLine(1008,0,__PYX_ERR(0, 1008, __pyx_L1_error)) /*else*/ { __pyx_t_43 = __pyx_v_jj0; __pyx_v_nRPhi0 = (__pyx_v_nRPhi0 + ((long)ceil(((__pyx_v_DPhiMinMax * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_R0.rcbuffer->pybuffer.buf, __pyx_t_43, __pyx_pybuffernd_R0.diminfo[0].strides))) / __pyx_v_dRPhi))));
+1009: NRPhi0[ii] = nRPhi0
__Pyx_TraceLine(1009,0,__PYX_ERR(0, 1009, __pyx_L1_error)) __pyx_t_44 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_44)) )) = __pyx_v_nRPhi0; } } __pyx_L19_break:;
1010: # Get indices of phi
1011: # Get the extreme indices of the mesh elements that really need to be created within those limits
+1012: for kk in range(0,nBounds):
__Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L1_error)) __pyx_t_17 = __pyx_v_nBounds; __pyx_t_18 = __pyx_t_17; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_kk = __pyx_t_19;
+1013: abs0 = BC[kk][0]-PhiMinMax[0]
__Pyx_TraceLine(1013,0,__PYX_ERR(0, 1013, __pyx_L1_error)) __pyx_t_9 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_kk), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyNumber_Subtract(__pyx_t_9, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1013, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_abs0 = __pyx_t_7;
+1014: if abs0-dPhir[ii]*Cfloor(abs0/dPhir[ii])<margin*dPhir[ii]:
__Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L1_error)) __pyx_t_45 = __pyx_v_ii; __pyx_t_46 = __pyx_v_ii; __pyx_t_47 = __pyx_v_ii; __pyx_t_1 = (((__pyx_v_abs0 - ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_45)) ))) * floor((__pyx_v_abs0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_46)) ))))))) < (__pyx_v_margin * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_47)) ))))) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L23; }
+1015: nPhi0 = int(Cround(abs0/dPhir[ii]))
__Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L1_error)) __pyx_t_48 = __pyx_v_ii; __pyx_v_nPhi0 = ((int)round((__pyx_v_abs0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_48)) ))))));
1016: else:
+1017: nPhi0 = int(Cfloor(abs0/dPhir[ii]))
__Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L1_error)) /*else*/ { __pyx_t_49 = __pyx_v_ii; __pyx_v_nPhi0 = ((int)floor((__pyx_v_abs0 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_49)) )))))); } __pyx_L23:;
+1018: abs1 = BC[kk][1]-PhiMinMax[0]
__Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L1_error)) __pyx_t_12 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_kk), 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = PyNumber_Subtract(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_abs1 = __pyx_t_7;
+1019: if abs1-dPhir[ii]*Cfloor(abs1/dPhir[ii])<margin*dPhir[ii]:
__Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L1_error)) __pyx_t_50 = __pyx_v_ii; __pyx_t_51 = __pyx_v_ii; __pyx_t_52 = __pyx_v_ii; __pyx_t_1 = (((__pyx_v_abs1 - ((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_50)) ))) * floor((__pyx_v_abs1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_51)) ))))))) < (__pyx_v_margin * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_52)) ))))) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L24; }
+1020: nPhi1 = int(Cround(abs1/dPhir[ii])-1)
__Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L1_error)) __pyx_t_53 = __pyx_v_ii; __pyx_v_nPhi1 = ((int)(round((__pyx_v_abs1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_53)) ))))) - 1.0));
1021: else:
+1022: nPhi1 = int(Cfloor(abs1/dPhir[ii]))
__Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L1_error)) /*else*/ { __pyx_t_54 = __pyx_v_ii; __pyx_v_nPhi1 = ((int)floor((__pyx_v_abs1 / (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_54)) )))))); } __pyx_L24:;
+1023: indBounds[0,kk] = nPhi0
__Pyx_TraceLine(1023,0,__PYX_ERR(0, 1023, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_nPhi0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_kk); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indBounds, __pyx_t_12, __pyx_t_9) < 0)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+1024: indBounds[1,kk] = nPhi1
__Pyx_TraceLine(1024,0,__PYX_ERR(0, 1024, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_nPhi1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_kk); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indBounds, __pyx_t_11, __pyx_t_9) < 0)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+1025: Phin[ii] += nPhi1+1-nPhi0
__Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L1_error)) __pyx_t_55 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_55)) )) += ((__pyx_v_nPhi1 + 1) - __pyx_v_nPhi0); }
1026:
+1027: if ii==0:
__Pyx_TraceLine(1027,0,__PYX_ERR(0, 1027, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_ii == 0) != 0); if (__pyx_t_1) { /* … */ }
+1028: indI = np.nan*np.ones((Ln,Phin[ii]*Rratio+1))
__Pyx_TraceLine(1028,0,__PYX_ERR(0, 1028, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_nan); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_56 = __pyx_v_ii; __pyx_t_10 = __Pyx_PyInt_From_long((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_56)) ))) * __pyx_v_Rratio) + 1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); __pyx_t_12 = 0; __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1028, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indI.rcbuffer->pybuffer); __pyx_t_39 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_39 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indI.rcbuffer->pybuffer, (PyObject*)__pyx_v_indI, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_indI.diminfo[0].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indI.diminfo[0].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_indI.diminfo[1].strides = __pyx_pybuffernd_indI.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_indI.diminfo[1].shape = __pyx_pybuffernd_indI.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_39 < 0)) __PYX_ERR(0, 1028, __pyx_L1_error) } __pyx_t_20 = 0; __Pyx_XDECREF_SET(__pyx_v_indI, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
+1029: jj = 0
__Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L1_error)) __pyx_v_jj = 0;
+1030: for kk in range(0,nBounds):
__Pyx_TraceLine(1030,0,__PYX_ERR(0, 1030, __pyx_L1_error)) __pyx_t_17 = __pyx_v_nBounds; __pyx_t_18 = __pyx_t_17; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_kk = __pyx_t_19;
+1031: for kkb in range(indBounds[0,kk],indBounds[1,kk]+1):
__Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L1_error)) __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_kk); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_indBounds, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_kk); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_indBounds, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_AddObjC(__pyx_t_9, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_11); __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_9, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_9 = __pyx_t_11; __Pyx_INCREF(__pyx_t_9); __pyx_t_57 = 0; __pyx_t_58 = NULL; } else { __pyx_t_57 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_58 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 1031, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_58)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_57 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_57); __Pyx_INCREF(__pyx_t_11); __pyx_t_57++; if (unlikely(0 < 0)) __PYX_ERR(0, 1031, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_57); __pyx_t_57++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_57 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_57); __Pyx_INCREF(__pyx_t_11); __pyx_t_57++; if (unlikely(0 < 0)) __PYX_ERR(0, 1031, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_57); __pyx_t_57++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_58(__pyx_t_9); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1031, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_kkb, __pyx_t_11); __pyx_t_11 = 0; /* … */ __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; }
+1032: indI[ii,jj] = <double>( kkb )
__Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L1_error)) __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_kkb); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1032, __pyx_L1_error) __pyx_t_59 = __pyx_v_ii; __pyx_t_60 = __pyx_v_jj; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_indI.rcbuffer->pybuffer.buf, __pyx_t_59, __pyx_pybuffernd_indI.diminfo[0].strides, __pyx_t_60, __pyx_pybuffernd_indI.diminfo[1].strides) = ((double)__pyx_t_7);
+1033: jj += 1
__Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L1_error)) __pyx_v_jj = (__pyx_v_jj + 1);
+1034: NP += Phin[ii]
__Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L1_error)) __pyx_t_61 = __pyx_v_ii; __pyx_v_NP = (__pyx_v_NP + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_Phin.data) + __pyx_t_61)) )))); }
1035:
1036: # Finish counting to get total number of points
+1037: if jj0<=NR0-1:
__Pyx_TraceLine(1037,0,__PYX_ERR(0, 1037, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_jj0 <= (__pyx_v_NR0 - 1)) != 0); if (__pyx_t_1) { /* … */ }
+1038: for jj0 in range(indR0ii,NR0):
__Pyx_TraceLine(1038,0,__PYX_ERR(0, 1038, __pyx_L1_error)) __pyx_t_28 = __pyx_v_NR0; __pyx_t_14 = __pyx_t_28; for (__pyx_t_30 = __pyx_v_indR0ii; __pyx_t_30 < __pyx_t_14; __pyx_t_30+=1) { __pyx_v_jj0 = __pyx_t_30;
+1039: nRPhi0 += <long>Cceil(DPhiMinMax*R0[jj0]/dRPhi)
__Pyx_TraceLine(1039,0,__PYX_ERR(0, 1039, __pyx_L1_error)) __pyx_t_62 = __pyx_v_jj0; __pyx_v_nRPhi0 = (__pyx_v_nRPhi0 + ((long)ceil(((__pyx_v_DPhiMinMax * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_R0.rcbuffer->pybuffer.buf, __pyx_t_62, __pyx_pybuffernd_R0.diminfo[0].strides))) / __pyx_v_dRPhi)))); }
1040:
1041: # Compute Pts, dV and ind
+1042: Pts = np.nan*np.ones((3,NP))
__Pyx_TraceLine(1042,0,__PYX_ERR(0, 1042, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_nan); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1042, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1042, __pyx_L1_error) } __pyx_t_20 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1043: ind = np.nan*np.ones((NP,))
__Pyx_TraceLine(1043,0,__PYX_ERR(0, 1043, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_nan); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1043, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1043, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_10); __pyx_t_10 = 0;
+1044: dS = np.nan*np.ones((NP,))
__Pyx_TraceLine(1044,0,__PYX_ERR(0, 1044, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_nan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_NP); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_10 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_11); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1044, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1044, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
1045: # This triple loop is the longest part, it takes ~90% of the CPU time
+1046: NP = 0
__Pyx_TraceLine(1046,0,__PYX_ERR(0, 1046, __pyx_L1_error)) __pyx_v_NP = 0;
+1047: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1047,0,__PYX_ERR(0, 1047, __pyx_L1_error)) __pyx_t_3 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L33; }
+1048: for ii in range(0,Ln):
__Pyx_TraceLine(1048,0,__PYX_ERR(0, 1048, __pyx_L1_error)) __pyx_t_28 = __pyx_v_Ln; __pyx_t_14 = __pyx_t_28; for (__pyx_t_30 = 0; __pyx_t_30 < __pyx_t_14; __pyx_t_30+=1) { __pyx_v_ii = __pyx_t_30;
+1049: iii = np.unique(indI[ii,~np.isnan(indI[ii,:])]) # Some rare cases with doubles have to be eliminated
__Pyx_TraceLine(1049,0,__PYX_ERR(0, 1049, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_unique); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_isnan); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_9); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_slice__9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_15, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_9); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Invert(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_12); __pyx_t_10 = 0; __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_12); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1049, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer); __pyx_t_39 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_39 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_v_iii, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_iii.diminfo[0].strides = __pyx_pybuffernd_iii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iii.diminfo[0].shape = __pyx_pybuffernd_iii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_39 < 0)) __PYX_ERR(0, 1049, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_XDECREF_SET(__pyx_v_iii, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1050: for jj in range(0,len(iii)):
__Pyx_TraceLine(1050,0,__PYX_ERR(0, 1050, __pyx_L1_error)) __pyx_t_17 = PyObject_Length(((PyObject *)__pyx_v_iii)); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1050, __pyx_L1_error) __pyx_t_18 = __pyx_t_17; for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_18; __pyx_t_39+=1) { __pyx_v_jj = __pyx_t_39;
+1051: indiijj = iii[jj]
__Pyx_TraceLine(1051,0,__PYX_ERR(0, 1051, __pyx_L1_error)) __pyx_t_63 = __pyx_v_jj; __pyx_v_indiijj = (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_iii.rcbuffer->pybuffer.buf, __pyx_t_63, __pyx_pybuffernd_iii.diminfo[0].strides));
+1052: phi = PhiMinMax[0] + (0.5+indiijj)*dPhir[ii]
__Pyx_TraceLine(1052,0,__PYX_ERR(0, 1052, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_64 = __pyx_v_ii; __pyx_t_4 = PyFloat_FromDouble(((0.5 + __pyx_v_indiijj) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_64)) ))))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_phi = __pyx_t_7;
+1053: Pts[0,NP] = PtsCross[0,ii]*Ccos(phi)
__Pyx_TraceLine(1053,0,__PYX_ERR(0, 1053, __pyx_L1_error)) __pyx_t_65 = 0; __pyx_t_66 = __pyx_v_ii; __pyx_t_67 = 0; __pyx_t_68 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_67, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_68, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_65, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_66, __pyx_pybuffernd_PtsCross.diminfo[1].strides)) * cos(__pyx_v_phi));
+1054: Pts[1,NP] = PtsCross[0,ii]*Csin(phi)
__Pyx_TraceLine(1054,0,__PYX_ERR(0, 1054, __pyx_L1_error)) __pyx_t_69 = 0; __pyx_t_70 = __pyx_v_ii; __pyx_t_71 = 1; __pyx_t_72 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_71, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_72, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_69, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_70, __pyx_pybuffernd_PtsCross.diminfo[1].strides)) * sin(__pyx_v_phi));
+1055: Pts[2,NP] = PtsCross[1,ii]
__Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) __pyx_t_73 = 1; __pyx_t_74 = __pyx_v_ii; __pyx_t_75 = 2; __pyx_t_76 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_75, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_76, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_73, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_74, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1056: ind[NP] = NRPhi0[ii] + indiijj
__Pyx_TraceLine(1056,0,__PYX_ERR(0, 1056, __pyx_L1_error)) __pyx_t_77 = __pyx_v_ii; __pyx_t_78 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ind.rcbuffer->pybuffer.buf, __pyx_t_78, __pyx_pybuffernd_ind.diminfo[0].strides) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_77)) ))) + __pyx_v_indiijj);
+1057: dS[NP] = dLr[ii]*dRPhir[ii]
__Pyx_TraceLine(1057,0,__PYX_ERR(0, 1057, __pyx_L1_error)) __pyx_t_79 = __pyx_v_ii; __pyx_t_80 = __pyx_v_ii; __pyx_t_81 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dS.rcbuffer->pybuffer.buf, __pyx_t_81, __pyx_pybuffernd_dS.diminfo[0].strides) = ((*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_79, __pyx_pybuffernd_dLr.diminfo[0].strides)) * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_80, __pyx_pybuffernd_dRPhir.diminfo[0].strides)));
+1058: NP += 1
__Pyx_TraceLine(1058,0,__PYX_ERR(0, 1058, __pyx_L1_error)) __pyx_v_NP = (__pyx_v_NP + 1); } }
1059: else:
+1060: for ii in range(0,Ln):
__Pyx_TraceLine(1060,0,__PYX_ERR(0, 1060, __pyx_L1_error)) /*else*/ { __pyx_t_28 = __pyx_v_Ln; __pyx_t_14 = __pyx_t_28; for (__pyx_t_30 = 0; __pyx_t_30 < __pyx_t_14; __pyx_t_30+=1) { __pyx_v_ii = __pyx_t_30;
+1061: iii = np.unique(indI[ii,~np.isnan(indI[ii,:])])
__Pyx_TraceLine(1061,0,__PYX_ERR(0, 1061, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_unique); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_isnan); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_10); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_slice__9); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_11 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_15, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Invert(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indI), __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1061, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iii.rcbuffer->pybuffer); __pyx_t_39 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_39 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iii.rcbuffer->pybuffer, (PyObject*)__pyx_v_iii, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_iii.diminfo[0].strides = __pyx_pybuffernd_iii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iii.diminfo[0].shape = __pyx_pybuffernd_iii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_39 < 0)) __PYX_ERR(0, 1061, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_XDECREF_SET(__pyx_v_iii, ((PyArrayObject *)__pyx_t_12)); __pyx_t_12 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1061, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1062: for jj in range(0,len(iii)):
__Pyx_TraceLine(1062,0,__PYX_ERR(0, 1062, __pyx_L1_error)) __pyx_t_17 = PyObject_Length(((PyObject *)__pyx_v_iii)); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1062, __pyx_L1_error) __pyx_t_18 = __pyx_t_17; for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_18; __pyx_t_39+=1) { __pyx_v_jj = __pyx_t_39;
+1063: indiijj = iii[jj]
__Pyx_TraceLine(1063,0,__PYX_ERR(0, 1063, __pyx_L1_error)) __pyx_t_82 = __pyx_v_jj; __pyx_v_indiijj = (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_iii.rcbuffer->pybuffer.buf, __pyx_t_82, __pyx_pybuffernd_iii.diminfo[0].strides));
+1064: Pts[0,NP] = PtsCross[0,ii]
__Pyx_TraceLine(1064,0,__PYX_ERR(0, 1064, __pyx_L1_error)) __pyx_t_83 = 0; __pyx_t_84 = __pyx_v_ii; __pyx_t_85 = 0; __pyx_t_86 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_85, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_86, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_83, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_84, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1065: Pts[1,NP] = PtsCross[1,ii]
__Pyx_TraceLine(1065,0,__PYX_ERR(0, 1065, __pyx_L1_error)) __pyx_t_87 = 1; __pyx_t_88 = __pyx_v_ii; __pyx_t_89 = 1; __pyx_t_90 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_89, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_90, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_87, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_88, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1066: Pts[2,NP] = PhiMinMax[0] + (0.5+indiijj)*dPhir[ii]
__Pyx_TraceLine(1066,0,__PYX_ERR(0, 1066, __pyx_L1_error)) __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_91 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble(((0.5 + __pyx_v_indiijj) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_91)) ))))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyNumber_Add(__pyx_t_12, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_92 = 2; __pyx_t_93 = __pyx_v_NP; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_92, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_93, __pyx_pybuffernd_Pts.diminfo[1].strides) = __pyx_t_7;
+1067: ind[NP] = NRPhi0[ii] + indiijj
__Pyx_TraceLine(1067,0,__PYX_ERR(0, 1067, __pyx_L1_error)) __pyx_t_94 = __pyx_v_ii; __pyx_t_95 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ind.rcbuffer->pybuffer.buf, __pyx_t_95, __pyx_pybuffernd_ind.diminfo[0].strides) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_94)) ))) + __pyx_v_indiijj);
+1068: dS[NP] = dLr[ii]*dRPhir[ii]
__Pyx_TraceLine(1068,0,__PYX_ERR(0, 1068, __pyx_L1_error)) __pyx_t_96 = __pyx_v_ii; __pyx_t_97 = __pyx_v_ii; __pyx_t_98 = __pyx_v_NP; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dS.rcbuffer->pybuffer.buf, __pyx_t_98, __pyx_pybuffernd_dS.diminfo[0].strides) = ((*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_96, __pyx_pybuffernd_dLr.diminfo[0].strides)) * (*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_97, __pyx_pybuffernd_dRPhir.diminfo[0].strides)));
+1069: NP += 1
__Pyx_TraceLine(1069,0,__PYX_ERR(0, 1069, __pyx_L1_error)) __pyx_v_NP = (__pyx_v_NP + 1); } } } __pyx_L33:;
+1070: indok = (~np.isnan(ind)).nonzero()[0]
__Pyx_TraceLine(1070,0,__PYX_ERR(0, 1070, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_isnan); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, ((PyObject *)__pyx_v_ind)) : __Pyx_PyObject_CallOneArg(__pyx_t_11, ((PyObject *)__pyx_v_ind)); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Invert(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1070, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indok.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indok.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indok.rcbuffer->pybuffer, (PyObject*)__pyx_v_indok, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_indok.diminfo[0].strides = __pyx_pybuffernd_indok.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indok.diminfo[0].shape = __pyx_pybuffernd_indok.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1070, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_indok = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+1071: ind = ind[indok]
__Pyx_TraceLine(1071,0,__PYX_ERR(0, 1071, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_indok)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1071, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1071, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
+1072: dS = dS[indok]
__Pyx_TraceLine(1072,0,__PYX_ERR(0, 1072, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dS), ((PyObject *)__pyx_v_indok)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1072, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1072, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_dS, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0;
+1073: if len(indok)==1:
__Pyx_TraceLine(1073,0,__PYX_ERR(0, 1073, __pyx_L1_error)) __pyx_t_17 = PyObject_Length(((PyObject *)__pyx_v_indok)); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1073, __pyx_L1_error) __pyx_t_1 = ((__pyx_t_17 == 1) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L42; }
+1074: Pts = Pts[:,indok].reshape((3,1))
__Pyx_TraceLine(1074,0,__PYX_ERR(0, 1074, __pyx_L1_error)) __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_slice__9); __Pyx_INCREF(((PyObject *)__pyx_v_indok)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indok)); PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_indok)); __pyx_t_11 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_reshape); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1074, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1074, __pyx_L1_error) } __pyx_t_20 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
1075: else:
+1076: Pts = Pts[:,indok]
__Pyx_TraceLine(1076,0,__PYX_ERR(0, 1076, __pyx_L1_error)) /*else*/ { __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(((PyObject *)__pyx_v_indok)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indok)); PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_indok)); __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Pts), __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1076, __pyx_L1_error) __pyx_t_20 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_28 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_28 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 1076, __pyx_L1_error) } __pyx_t_20 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0; } __pyx_L42:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
1077: else:
+1078: Pts, dS, ind, NL, Rref, dRPhir, nRPhi0 = np.ones((3,0)), np.ones((0,)), np.ones((0,)), np.nan*np.ones((VPoly.shape[1]-1,)), np.ones((0,)), np.ones((0,)), 0
__Pyx_TraceLine(1078,0,__PYX_ERR(0, 1078, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_3, __pyx_tuple__54) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_tuple__54); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__54 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_0); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_3, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_12 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ones); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyInt_FromSsize_t(((__pyx_v_VPoly.shape[1]) - 1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_10, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_5); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_15) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_15, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_3, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1078, __pyx_L1_error) __pyx_t_28 = 0; __pyx_t_20 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_20 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_11); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_11); __pyx_t_11 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_12); __pyx_t_12 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_15); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_15); __pyx_t_15 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_23); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_23, __pyx_t_22, __pyx_t_21); } __pyx_t_23 = __pyx_t_22 = __pyx_t_21 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_23); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __pyx_t_21 = __pyx_t_22 = __pyx_t_23 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __pyx_v_nRPhi0 = __pyx_t_28; } __pyx_L7:; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55);
+1079: return Pts, dS, ind.astype(int), NL, dLr, Rref, dRPhir, nRPhi0, VPbis
__Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ind), __pyx_n_s_astype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_15, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_nRPhi0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = PyTuple_New(9); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_15, 1, ((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_15, 3, ((PyObject *)__pyx_v_NL)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_15, 4, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_15, 5, ((PyObject *)__pyx_v_Rref)); __Pyx_INCREF(((PyObject *)__pyx_v_dRPhir)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dRPhir)); PyTuple_SET_ITEM(__pyx_t_15, 6, ((PyObject *)__pyx_v_dRPhir)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 7, __pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_15, 8, ((PyObject *)__pyx_v_VPbis)); __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_15; __pyx_t_15 = 0; goto __pyx_L0;
1080:
1081:
1082:
1083: @cython.cdivision(True)
1084: @cython.wraparound(False)
1085: @cython.boundscheck(False)
+1086: def _Ves_Smesh_Tor_SubFromInd_cython(double dL, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_35_Ves_Smesh_Tor_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_34_Ves_Smesh_Tor_SubFromInd_cython[] = " Return the desired submesh indicated by the (numerical) indices, for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_35_Ves_Smesh_Tor_SubFromInd_cython = {"_Ves_Smesh_Tor_SubFromInd_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_35_Ves_Smesh_Tor_SubFromInd_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_34_Ves_Smesh_Tor_SubFromInd_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_35_Ves_Smesh_Tor_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_dL;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ind = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_PhiMinMax = 0;
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Tor_SubFromInd_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dL,&__pyx_n_s_dRPhi,&__pyx_n_s_VPoly,&__pyx_n_s_ind,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_PhiMinMax,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_34_Ves_Smesh_Tor_SubFromInd_cython(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_dL, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_VPoly, __Pyx_memviewslice __pyx_v_ind, double __pyx_v_DIn, PyObject *__pyx_v_VIn, PyObject *__pyx_v_PhiMinMax, PyObject *__pyx_v_Out, double __pyx_v_margin) {
__Pyx_memviewslice __pyx_v_dRPhirRef = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_dPhir = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED __Pyx_memviewslice __pyx_v_indL = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi0 = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_NRPhi = { 0, 0, { 0 }, { 0 }, { 0 } };
long __pyx_v_NP;
long __pyx_v_Rratio;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_iiL;
int __pyx_v_iiphi;
int __pyx_v_Ln;
CYTHON_UNUSED int __pyx_v_nn;
CYTHON_UNUSED int __pyx_v_kk;
int __pyx_v_nRPhi0;
__Pyx_memviewslice __pyx_v_Phi = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_PtsCross = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_dRPhir = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_NL = 0;
PyObject *__pyx_v_DPhiMinMax = NULL;
PyObject *__pyx_v_dLrRef = NULL;
PyObject *__pyx_v_RrefRef = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsCross;
__Pyx_Buffer __pyx_pybuffer_PtsCross;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dRPhir;
__Pyx_Buffer __pyx_pybuffer_dRPhir;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__56)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Tor_SubFromInd_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_Tor_SubFromInd_cython", __pyx_f[0], 1086, 0, __PYX_ERR(0, 1086, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_PhiMinMax);
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_PtsCross.pybuffer.buf = NULL;
__pyx_pybuffer_PtsCross.refcount = 0;
__pyx_pybuffernd_PtsCross.data = NULL;
__pyx_pybuffernd_PtsCross.rcbuffer = &__pyx_pybuffer_PtsCross;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_dRPhir.pybuffer.buf = NULL;
__pyx_pybuffer_dRPhir.refcount = 0;
__pyx_pybuffernd_dRPhir.data = NULL;
__pyx_pybuffernd_dRPhir.rcbuffer = &__pyx_pybuffer_dRPhir;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__PYX_XDEC_MEMVIEW(&__pyx_t_17, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_23, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_24, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_25, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_35, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Tor_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_dRPhirRef, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_dPhir, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indL, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi0, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_NRPhi, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_Phi, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsCross);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_dRPhir);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF(__pyx_v_DPhiMinMax);
__Pyx_XDECREF(__pyx_v_dLrRef);
__Pyx_XDECREF(__pyx_v_RrefRef);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_ind, 1);
__Pyx_XDECREF(__pyx_v_PhiMinMax);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__131 = PyTuple_Pack(42, __pyx_n_s_dL, __pyx_n_s_dRPhi, __pyx_n_s_VPoly, __pyx_n_s_ind, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_PhiMinMax, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_dRPhirRef, __pyx_n_s_dPhir, __pyx_n_s_indL, __pyx_n_s_NRPhi0, __pyx_n_s_NRPhi, __pyx_n_s_NR, __pyx_n_s_NZ, __pyx_n_s_Rn, __pyx_n_s_Zn, __pyx_n_s_NP, __pyx_n_s_Rratio, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_iiL, __pyx_n_s_iiphi, __pyx_n_s_Ln, __pyx_n_s_nn, __pyx_n_s_kk, __pyx_n_s_nRPhi0, __pyx_n_s_Phi, __pyx_n_s_Pts, __pyx_n_s_indI, __pyx_n_s_PtsCross, __pyx_n_s_VPbis, __pyx_n_s_R0, __pyx_n_s_dS, __pyx_n_s_dLr, __pyx_n_s_dRPhir, __pyx_n_s_Rref, __pyx_n_s_NL, __pyx_n_s_DPhiMinMax, __pyx_n_s_dLrRef, __pyx_n_s_RrefRef); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 1086, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__131);
__Pyx_GIVEREF(__pyx_tuple__131);
/* … */
__Pyx_TraceLine(1086,0,__PYX_ERR(0, 1086, __pyx_L1_error))
__pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1086, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_2, 3, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_1);
__pyx_t_4 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_35_Ves_Smesh_Tor_SubFromInd_cython, 0, __pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1086, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython, __pyx_t_1) < 0) __PYX_ERR(0, 1086, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(9, 0, 42, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_Tor_SubFromInd_cython, 1086, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 1086, __pyx_L1_error)
1087: double[:,::1] VPoly, long[::1] ind,
+1088: double DIn=0., VIn=None, PhiMinMax=None,
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromInd_cython", 0, 4, 9, 1); __PYX_ERR(0, 1086, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromInd_cython", 0, 4, 9, 2); __PYX_ERR(0, 1086, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromInd_cython", 0, 4, 9, 3); __PYX_ERR(0, 1086, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_PhiMinMax);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[8] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_Tor_SubFromInd_cython") < 0)) __PYX_ERR(0, 1086, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1086, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1086, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 1087, __pyx_L3_error)
__pyx_v_ind = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_ind.memview)) __PYX_ERR(0, 1087, __pyx_L3_error)
if (values[4]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1088, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[5];
__pyx_v_PhiMinMax = values[6];
__pyx_v_Out = ((PyObject*)values[7]);
if (values[8]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1089, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Tor_SubFromInd_cython", 0, 4, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1086, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Tor_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 1089, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_34_Ves_Smesh_Tor_SubFromInd_cython(__pyx_self, __pyx_v_dL, __pyx_v_dRPhi, __pyx_v_VPoly, __pyx_v_ind, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_PhiMinMax, __pyx_v_Out, __pyx_v_margin);
/* … */
__Pyx_TraceLine(1088,0,__PYX_ERR(0, 1088, __pyx_L1_error))
__pyx_t_4 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1088, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+1089: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(1089,0,__PYX_ERR(0, 1089, __pyx_L1_error)) __pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1);
1090: """ Return the desired submesh indicated by the (numerical) indices, for the desired resolution (dR,dZ,dRphi) """
1091: cdef double[::1] dRPhirRef, dPhir
1092: cdef long[::1] indL, NRPhi0, NRPhi
+1093: cdef long NR, NZ, Rn, Zn, NP=len(ind), Rratio
__Pyx_TraceLine(1093,0,__PYX_ERR(0, 1093, __pyx_L1_error)) __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_ind); __pyx_v_NP = __pyx_t_1;
+1094: cdef int ii=0, jj=0, iiL, iiphi, Ln, nn=0, kk=0, nRPhi0
__Pyx_TraceLine(1094,0,__PYX_ERR(0, 1094, __pyx_L1_error)) __pyx_v_ii = 0; __pyx_v_jj = 0; __pyx_v_nn = 0; __pyx_v_kk = 0;
1095: cdef double[:,::1] Phi
+1096: cdef cnp.ndarray[double,ndim=2] Pts=np.empty((3,NP)), indI, PtsCross, VPbis
__Pyx_TraceLine(1096,0,__PYX_ERR(0, 1096, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_NP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1096, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_Pts = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1096, __pyx_L1_error) } else {__pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; } } __pyx_t_6 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1097: cdef cnp.ndarray[double,ndim=1] R0, dS=np.empty((NP,)), dLr, dRPhir, Rref
__Pyx_TraceLine(1097,0,__PYX_ERR(0, 1097, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_NP); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1097, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_dS = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_dS.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1097, __pyx_L1_error) } else {__pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; } } __pyx_t_7 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
1098: cdef cnp.ndarray[long,ndim=1] NL
1099:
1100: # Pre-format input
+1101: if PhiMinMax is None:
__Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) __pyx_t_8 = (__pyx_v_PhiMinMax == Py_None); __pyx_t_9 = (__pyx_t_8 != 0); if (__pyx_t_9) { /* … */ goto __pyx_L3; }
+1102: PhiMinMax = [-Cpi,Cpi]
__Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_PhiMinMax, __pyx_t_3); __pyx_t_3 = 0;
+1103: DPhiMinMax = 2.*Cpi
__Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_DPhiMinMax = __pyx_t_3; __pyx_t_3 = 0;
1104: else:
+1105: PhiMinMax = [Catan2(Csin(PhiMinMax[0]),Ccos(PhiMinMax[0])), Catan2(Csin(PhiMinMax[1]),Ccos(PhiMinMax[1]))]
__Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L1_error)) /*else*/ { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(atan2(sin(__pyx_t_10), cos(__pyx_t_11))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(atan2(sin(__pyx_t_11), cos(__pyx_t_10))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_PhiMinMax, __pyx_t_2); __pyx_t_2 = 0;
+1106: if PhiMinMax[1]>=PhiMinMax[0]:
__Pyx_TraceLine(1106,0,__PYX_ERR(0, 1106, __pyx_L1_error)) __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L4; }
+1107: DPhiMinMax = PhiMinMax[1]-PhiMinMax[0]
__Pyx_TraceLine(1107,0,__PYX_ERR(0, 1107, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_DPhiMinMax = __pyx_t_2; __pyx_t_2 = 0;
1108: else:
+1109: DPhiMinMax = 2.*Cpi + PhiMinMax[1] - PhiMinMax[0]
__Pyx_TraceLine(1109,0,__PYX_ERR(0, 1109, __pyx_L1_error)) /*else*/ { __pyx_t_2 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_DPhiMinMax = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L4:; } __pyx_L3:;
1110:
1111:
1112: # Get the actual R and Z resolutions and mesh elements
+1113: PtsCross, dLrRef, indL, NL, RrefRef, VPbis = _Ves_Smesh_Cross(VPoly, dL, D1=None, D2=None, margin=margin, DIn=DIn, VIn=VIn)
__Pyx_TraceLine(1113,0,__PYX_ERR(0, 1113, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_Smesh_Cross); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_D1, Py_None) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_D2, Py_None) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_DIn, __pyx_t_5) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1113, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_12 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_12 = PyList_GET_ITEM(sequence, 3); __pyx_t_13 = PyList_GET_ITEM(sequence, 4); __pyx_t_14 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_2,&__pyx_t_12,&__pyx_t_13,&__pyx_t_14}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_2,&__pyx_t_12,&__pyx_t_13,&__pyx_t_14}; __pyx_t_15 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_15)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_16(__pyx_t_15); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_15), 6) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_L6_unpacking_done:; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1113, __pyx_L1_error) if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_19, __pyx_t_20, __pyx_t_21); } __pyx_t_19 = __pyx_t_20 = __pyx_t_21 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1113, __pyx_L1_error) } __pyx_t_6 = 0; __pyx_v_PtsCross = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_v_dLrRef = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_indL = __pyx_t_17; __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __pyx_t_22 = ((PyArrayObject *)__pyx_t_12); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_22, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_20, &__pyx_t_19); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_20, __pyx_t_19); } __pyx_t_21 = __pyx_t_20 = __pyx_t_19 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1113, __pyx_L1_error) } __pyx_t_22 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_12); __pyx_t_12 = 0; __pyx_v_RrefRef = __pyx_t_13; __pyx_t_13 = 0; __pyx_t_6 = ((PyArrayObject *)__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_19, __pyx_t_20, __pyx_t_21); } __pyx_t_19 = __pyx_t_20 = __pyx_t_21 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1113, __pyx_L1_error) } __pyx_t_6 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0;
+1114: Ln = dLrRef.size
__Pyx_TraceLine(1114,0,__PYX_ERR(0, 1114, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_dLrRef, __pyx_n_s_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_Ln = __pyx_t_18;
1115: # Number of Phi per R
+1116: dRPhirRef, dPhir, dRPhir = np.empty((Ln,)), np.empty((Ln,)), -np.ones((Ln,))
__Pyx_TraceLine(1116,0,__PYX_ERR(0, 1116, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_empty); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_12); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_23 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_23.memview)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_empty); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_24 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_5, PyBUF_WRITABLE); if (unlikely(!__pyx_t_24.memview)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ones); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_5 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_12, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Negative(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1116, __pyx_L1_error) __pyx_v_dRPhirRef = __pyx_t_23; __pyx_t_23.memview = NULL; __pyx_t_23.data = NULL; __pyx_v_dPhir = __pyx_t_24; __pyx_t_24.memview = NULL; __pyx_t_24.data = NULL; __pyx_t_7 = ((PyArrayObject *)__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_20, &__pyx_t_19); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_20, __pyx_t_19); } __pyx_t_21 = __pyx_t_20 = __pyx_t_19 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1116, __pyx_L1_error) } __pyx_t_7 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0;
+1117: dLr, Rref = -np.ones((Ln,)), -np.ones((Ln,))
__Pyx_TraceLine(1117,0,__PYX_ERR(0, 1117, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_12); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Negative(__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_14 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Negative(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1117, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_13); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_19, __pyx_t_20, __pyx_t_21); } __pyx_t_19 = __pyx_t_20 = __pyx_t_21 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1117, __pyx_L1_error) } __pyx_t_7 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_13); __pyx_t_13 = 0; __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_18 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_18 < 0)) { PyErr_Fetch(&__pyx_t_21, &__pyx_t_20, &__pyx_t_19); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_21, __pyx_t_20, __pyx_t_19); } __pyx_t_21 = __pyx_t_20 = __pyx_t_19 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1117, __pyx_L1_error) } __pyx_t_7 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1118: NRPhi, NRPhi0 = np.empty((Ln,),dtype=int), np.empty((Ln,),dtype=int)
__Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_empty); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1118, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1118, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_25 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_13, PyBUF_WRITABLE); if (unlikely(!__pyx_t_25.memview)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_NRPhi = __pyx_t_17; __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __pyx_v_NRPhi0 = __pyx_t_25; __pyx_t_25.memview = NULL; __pyx_t_25.data = NULL;
+1119: Rratio = int(Cceil(np.max(RrefRef)/np.min(RrefRef)))
__Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_RrefRef) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_RrefRef); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_min); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_v_RrefRef) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_RrefRef); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1119, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_Rratio = ((long)ceil(__pyx_t_10));
+1120: for ii in range(0,Ln):
__Pyx_TraceLine(1120,0,__PYX_ERR(0, 1120, __pyx_L1_error)) __pyx_t_18 = __pyx_v_Ln; __pyx_t_26 = __pyx_t_18; for (__pyx_t_27 = 0; __pyx_t_27 < __pyx_t_26; __pyx_t_27+=1) { __pyx_v_ii = __pyx_t_27;
+1121: NRPhi[ii] = <long>(Cceil(DPhiMinMax*RrefRef[ii]/dRPhi))
__Pyx_TraceLine(1121,0,__PYX_ERR(0, 1121, __pyx_L1_error)) __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_RrefRef, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyNumber_Multiply(__pyx_v_DPhiMinMax, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyFloat_FromDouble(__pyx_v_dRPhi); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_28 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_28)) )) = ((long)ceil(__pyx_t_10));
+1122: dRPhirRef[ii] = DPhiMinMax*RrefRef[ii]/<double>(NRPhi[ii])
__Pyx_TraceLine(1122,0,__PYX_ERR(0, 1122, __pyx_L1_error)) __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_RrefRef, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyNumber_Multiply(__pyx_v_DPhiMinMax, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_29 = __pyx_v_ii; __pyx_t_13 = PyFloat_FromDouble(((double)(*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_29)) ))))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_30 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_30)) )) = __pyx_t_10;
+1123: dPhir[ii] = DPhiMinMax/<double>(NRPhi[ii])
__Pyx_TraceLine(1123,0,__PYX_ERR(0, 1123, __pyx_L1_error)) __pyx_t_31 = __pyx_v_ii; __pyx_t_2 = PyFloat_FromDouble(((double)(*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_31)) ))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_v_DPhiMinMax, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_32 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_32)) )) = __pyx_t_10;
+1124: if ii==0:
__Pyx_TraceLine(1124,0,__PYX_ERR(0, 1124, __pyx_L1_error)) __pyx_t_9 = ((__pyx_v_ii == 0) != 0); if (__pyx_t_9) { /* … */ goto __pyx_L9; }
+1125: NRPhi0[ii] = 0
__Pyx_TraceLine(1125,0,__PYX_ERR(0, 1125, __pyx_L1_error)) __pyx_t_33 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_33)) )) = 0;
+1126: Phi = np.empty((Ln,NRPhi[ii]*Rratio+1))
__Pyx_TraceLine(1126,0,__PYX_ERR(0, 1126, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_34 = __pyx_v_ii; __pyx_t_5 = __Pyx_PyInt_From_long((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_34)) ))) * __pyx_v_Rratio) + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_35 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_13, PyBUF_WRITABLE); if (unlikely(!__pyx_t_35.memview)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_Phi, 1); __pyx_v_Phi = __pyx_t_35; __pyx_t_35.memview = NULL; __pyx_t_35.data = NULL;
1127: else:
+1128: NRPhi0[ii] = NRPhi0[ii-1] + NRPhi[ii-1]
__Pyx_TraceLine(1128,0,__PYX_ERR(0, 1128, __pyx_L1_error)) /*else*/ { __pyx_t_36 = (__pyx_v_ii - 1); __pyx_t_37 = (__pyx_v_ii - 1); __pyx_t_38 = __pyx_v_ii; *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_38)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_36)) ))) + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_37)) )))); } __pyx_L9:;
+1129: for jj in range(0,NRPhi[ii]):
__Pyx_TraceLine(1129,0,__PYX_ERR(0, 1129, __pyx_L1_error)) __pyx_t_39 = __pyx_v_ii; __pyx_t_40 = (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_39)) ))); __pyx_t_41 = __pyx_t_40; for (__pyx_t_42 = 0; __pyx_t_42 < __pyx_t_41; __pyx_t_42+=1) { __pyx_v_jj = __pyx_t_42;
+1130: Phi[ii,jj] = PhiMinMax[0] + (0.5+<double>jj)*dPhir[ii]
__Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L1_error)) __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_PhiMinMax, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_43 = __pyx_v_ii; __pyx_t_14 = PyFloat_FromDouble(((0.5 + ((double)__pyx_v_jj)) * (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dPhir.data) + __pyx_t_43)) ))))); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = PyNumber_Add(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1130, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 1130, __pyx_L1_error) } __pyx_t_44 = __pyx_v_ii; __pyx_t_45 = __pyx_v_jj; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_44 * __pyx_v_Phi.strides[0]) )) + __pyx_t_45)) )) = __pyx_t_10; } }
+1131: nRPhi0 = NRPhi0[Ln-1]+NRPhi[Ln-1]
__Pyx_TraceLine(1131,0,__PYX_ERR(0, 1131, __pyx_L1_error)) __pyx_t_46 = (__pyx_v_Ln - 1); __pyx_t_47 = (__pyx_v_Ln - 1); __pyx_v_nRPhi0 = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_46)) ))) + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi.data) + __pyx_t_47)) ))));
1132:
+1133: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L1_error)) __pyx_t_12 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_12, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L12; }
+1134: for ii in range(0,NP):
__Pyx_TraceLine(1134,0,__PYX_ERR(0, 1134, __pyx_L1_error)) __pyx_t_40 = __pyx_v_NP; __pyx_t_41 = __pyx_t_40; for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_41; __pyx_t_18+=1) { __pyx_v_ii = __pyx_t_18;
+1135: for jj in range(0,Ln+1):
__Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L1_error)) __pyx_t_48 = (__pyx_v_Ln + 1); __pyx_t_49 = __pyx_t_48; for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_49; __pyx_t_26+=1) { __pyx_v_jj = __pyx_t_26;
+1136: if ind[ii]-NRPhi0[jj]<0.:
__Pyx_TraceLine(1136,0,__PYX_ERR(0, 1136, __pyx_L1_error)) __pyx_t_50 = __pyx_v_ii; __pyx_t_51 = __pyx_v_jj; __pyx_t_9 = ((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_50)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_51)) )))) < 0.) != 0); if (__pyx_t_9) { /* … */ } } __pyx_L16_break:;
+1137: break
__Pyx_TraceLine(1137,0,__PYX_ERR(0, 1137, __pyx_L1_error)) goto __pyx_L16_break;
+1138: iiL = jj-1
__Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L1_error)) __pyx_v_iiL = (__pyx_v_jj - 1);
+1139: iiphi = ind[ii] - NRPhi0[iiL]
__Pyx_TraceLine(1139,0,__PYX_ERR(0, 1139, __pyx_L1_error)) __pyx_t_52 = __pyx_v_ii; __pyx_t_53 = __pyx_v_iiL; __pyx_v_iiphi = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_52)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_53)) ))));
+1140: Pts[0,ii] = PtsCross[0,iiL]*Ccos(Phi[iiL,iiphi])
__Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L1_error)) __pyx_t_54 = 0; __pyx_t_55 = __pyx_v_iiL; if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 1140, __pyx_L1_error) } __pyx_t_56 = __pyx_v_iiL; __pyx_t_57 = __pyx_v_iiphi; __pyx_t_58 = 0; __pyx_t_59 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_58, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_59, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_54, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_55, __pyx_pybuffernd_PtsCross.diminfo[1].strides)) * cos((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_56 * __pyx_v_Phi.strides[0]) )) + __pyx_t_57)) )))));
+1141: Pts[1,ii] = PtsCross[0,iiL]*Csin(Phi[iiL,iiphi])
__Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L1_error)) __pyx_t_60 = 0; __pyx_t_61 = __pyx_v_iiL; if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 1141, __pyx_L1_error) } __pyx_t_62 = __pyx_v_iiL; __pyx_t_63 = __pyx_v_iiphi; __pyx_t_64 = 1; __pyx_t_65 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_64, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_65, __pyx_pybuffernd_Pts.diminfo[1].strides) = ((*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_60, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_61, __pyx_pybuffernd_PtsCross.diminfo[1].strides)) * sin((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_62 * __pyx_v_Phi.strides[0]) )) + __pyx_t_63)) )))));
+1142: Pts[2,ii] = PtsCross[1,iiL]
__Pyx_TraceLine(1142,0,__PYX_ERR(0, 1142, __pyx_L1_error)) __pyx_t_66 = 1; __pyx_t_67 = __pyx_v_iiL; __pyx_t_68 = 2; __pyx_t_69 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_68, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_69, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_66, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_67, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1143: dS[ii] = dLrRef[iiL]*dRPhirRef[iiL]
__Pyx_TraceLine(1143,0,__PYX_ERR(0, 1143, __pyx_L1_error)) __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_dLrRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_70 = __pyx_v_iiL; __pyx_t_14 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_70)) )))); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = PyNumber_Multiply(__pyx_t_12, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_71 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dS.rcbuffer->pybuffer.buf, __pyx_t_71, __pyx_pybuffernd_dS.diminfo[0].strides) = __pyx_t_10;
+1144: if dRPhir[iiL]==-1.:
__Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L1_error)) __pyx_t_72 = __pyx_v_iiL; __pyx_t_9 = (((*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_72, __pyx_pybuffernd_dRPhir.diminfo[0].strides)) == -1.) != 0); if (__pyx_t_9) { /* … */ } }
+1145: dRPhir[iiL] = dRPhirRef[iiL]
__Pyx_TraceLine(1145,0,__PYX_ERR(0, 1145, __pyx_L1_error)) __pyx_t_73 = __pyx_v_iiL; __pyx_t_74 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_74, __pyx_pybuffernd_dRPhir.diminfo[0].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_73)) )));
+1146: dLr[iiL] = dLrRef[iiL]
__Pyx_TraceLine(1146,0,__PYX_ERR(0, 1146, __pyx_L1_error)) __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dLrRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_75 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_75, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_t_10;
+1147: Rref[iiL] = RrefRef[iiL]
__Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L1_error)) __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_RrefRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_76 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Rref.rcbuffer->pybuffer.buf, __pyx_t_76, __pyx_pybuffernd_Rref.diminfo[0].strides) = __pyx_t_10;
1148:
1149: else:
+1150: for ii in range(0,NP):
__Pyx_TraceLine(1150,0,__PYX_ERR(0, 1150, __pyx_L1_error)) /*else*/ { __pyx_t_40 = __pyx_v_NP; __pyx_t_41 = __pyx_t_40; for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_41; __pyx_t_18+=1) { __pyx_v_ii = __pyx_t_18;
+1151: for jj in range(0,Ln+1):
__Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L1_error)) __pyx_t_48 = (__pyx_v_Ln + 1); __pyx_t_49 = __pyx_t_48; for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_49; __pyx_t_26+=1) { __pyx_v_jj = __pyx_t_26;
+1152: if ind[ii]-NRPhi0[jj]<0.:
__Pyx_TraceLine(1152,0,__PYX_ERR(0, 1152, __pyx_L1_error)) __pyx_t_77 = __pyx_v_ii; __pyx_t_78 = __pyx_v_jj; __pyx_t_9 = ((((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_77)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_78)) )))) < 0.) != 0); if (__pyx_t_9) { /* … */ } } __pyx_L22_break:;
+1153: break
__Pyx_TraceLine(1153,0,__PYX_ERR(0, 1153, __pyx_L1_error)) goto __pyx_L22_break;
+1154: iiL = jj-1
__Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L1_error)) __pyx_v_iiL = (__pyx_v_jj - 1);
+1155: iiphi = ind[ii] - NRPhi0[iiL]
__Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L1_error)) __pyx_t_79 = __pyx_v_ii; __pyx_t_80 = __pyx_v_iiL; __pyx_v_iiphi = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_ind.data) + __pyx_t_79)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_NRPhi0.data) + __pyx_t_80)) ))));
+1156: Pts[0,ii] = PtsCross[0,iiL]
__Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L1_error)) __pyx_t_81 = 0; __pyx_t_82 = __pyx_v_iiL; __pyx_t_83 = 0; __pyx_t_84 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_83, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_84, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_81, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_82, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1157: Pts[1,ii] = PtsCross[1,iiL]
__Pyx_TraceLine(1157,0,__PYX_ERR(0, 1157, __pyx_L1_error)) __pyx_t_85 = 1; __pyx_t_86 = __pyx_v_iiL; __pyx_t_87 = 1; __pyx_t_88 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_87, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_88, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.buf, __pyx_t_85, __pyx_pybuffernd_PtsCross.diminfo[0].strides, __pyx_t_86, __pyx_pybuffernd_PtsCross.diminfo[1].strides));
+1158: Pts[2,ii] = Phi[iiL,iiphi]
__Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L1_error)) if (unlikely(!__pyx_v_Phi.memview)) { __Pyx_RaiseUnboundLocalError("Phi"); __PYX_ERR(0, 1158, __pyx_L1_error) } __pyx_t_89 = __pyx_v_iiL; __pyx_t_90 = __pyx_v_iiphi; __pyx_t_91 = 2; __pyx_t_92 = __pyx_v_ii; *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_Pts.rcbuffer->pybuffer.buf, __pyx_t_91, __pyx_pybuffernd_Pts.diminfo[0].strides, __pyx_t_92, __pyx_pybuffernd_Pts.diminfo[1].strides) = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Phi.data + __pyx_t_89 * __pyx_v_Phi.strides[0]) )) + __pyx_t_90)) )));
+1159: dS[ii] = dLrRef[iiL]*dRPhirRef[iiL]
__Pyx_TraceLine(1159,0,__PYX_ERR(0, 1159, __pyx_L1_error)) __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dLrRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_93 = __pyx_v_iiL; __pyx_t_14 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_93)) )))); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = PyNumber_Multiply(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_94 = __pyx_v_ii; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dS.rcbuffer->pybuffer.buf, __pyx_t_94, __pyx_pybuffernd_dS.diminfo[0].strides) = __pyx_t_10;
+1160: if dRPhir[iiL]==-1.:
__Pyx_TraceLine(1160,0,__PYX_ERR(0, 1160, __pyx_L1_error)) __pyx_t_95 = __pyx_v_iiL; __pyx_t_9 = (((*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_95, __pyx_pybuffernd_dRPhir.diminfo[0].strides)) == -1.) != 0); if (__pyx_t_9) { /* … */ } } } __pyx_L12:;
+1161: dRPhir[iiL] = dRPhirRef[iiL]
__Pyx_TraceLine(1161,0,__PYX_ERR(0, 1161, __pyx_L1_error)) __pyx_t_96 = __pyx_v_iiL; __pyx_t_97 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.buf, __pyx_t_97, __pyx_pybuffernd_dRPhir.diminfo[0].strides) = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_dRPhirRef.data) + __pyx_t_96)) )));
+1162: dLr[iiL] = dLrRef[iiL]
__Pyx_TraceLine(1162,0,__PYX_ERR(0, 1162, __pyx_L1_error)) __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_dLrRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1162, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_98 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_98, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_t_10;
+1163: Rref[iiL] = RrefRef[iiL]
__Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L1_error)) __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_RrefRef, __pyx_v_iiL, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1163, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_99 = __pyx_v_iiL; *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Rref.rcbuffer->pybuffer.buf, __pyx_t_99, __pyx_pybuffernd_Rref.diminfo[0].strides) = __pyx_t_10;
+1164: return Pts, dS, NL, dLr[dLr>-0.5], Rref[Rref>-0.5], dRPhir[dRPhir>-0.5], <long>nRPhi0, VPbis
__Pyx_TraceLine(1164,0,__PYX_ERR(0, 1164, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_12 = PyObject_RichCompare(((PyObject *)__pyx_v_dLr), __pyx_float_neg_0_5, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1164, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyObject_RichCompare(((PyObject *)__pyx_v_Rref), __pyx_float_neg_0_5, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1164, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Rref), __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyObject_RichCompare(((PyObject *)__pyx_v_dRPhir), __pyx_float_neg_0_5, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1164, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dRPhir), __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_long(((long)__pyx_v_nRPhi0)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = PyTuple_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_2, 7, ((PyObject *)__pyx_v_VPbis)); __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
1165:
1166:
1167:
1168:
1169: ########################################################
1170: ########################################################
1171: # Meshing - Surface - TorStruct
1172: ########################################################
1173:
1174:
1175: @cython.cdivision(True)
1176: @cython.wraparound(False)
1177: @cython.boundscheck(False)
+1178: def _Ves_Smesh_TorStruct_SubFromD_cython(double[::1] PhiMinMax, double dL, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_37_Ves_Smesh_TorStruct_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_36_Ves_Smesh_TorStruct_SubFromD_cython[] = " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_37_Ves_Smesh_TorStruct_SubFromD_cython = {"_Ves_Smesh_TorStruct_SubFromD_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_37_Ves_Smesh_TorStruct_SubFromD_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_36_Ves_Smesh_TorStruct_SubFromD_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_37_Ves_Smesh_TorStruct_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_PhiMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_DR = 0;
PyObject *__pyx_v_DZ = 0;
PyObject *__pyx_v_DPhi = 0;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_TorStruct_SubFromD_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_PhiMinMax,&__pyx_n_s_dL,&__pyx_n_s_dRPhi,&__pyx_n_s_VPoly,&__pyx_n_s_DR,&__pyx_n_s_DZ,&__pyx_n_s_DPhi,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_36_Ves_Smesh_TorStruct_SubFromD_cython(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_PhiMinMax, double __pyx_v_dL, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_VPoly, PyObject *__pyx_v_DR, PyObject *__pyx_v_DZ, PyObject *__pyx_v_DPhi, double __pyx_v_DIn, PyObject *__pyx_v_VIn, PyObject *__pyx_v_Out, double __pyx_v_margin) {
double __pyx_v_Dphi;
double __pyx_v_dR0r;
double __pyx_v_dZ0r;
int __pyx_v_NR0;
int __pyx_v_NZ0;
int __pyx_v_R0n;
int __pyx_v_Z0n;
__Pyx_memviewslice __pyx_v_phiMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_R0 = 0;
PyArrayObject *__pyx_v_Z0 = 0;
PyArrayObject *__pyx_v_dsF = 0;
PyArrayObject *__pyx_v_dSM = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_dRPhir = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_indR0 = 0;
PyArrayObject *__pyx_v_indZ0 = 0;
PyArrayObject *__pyx_v_iind = 0;
PyArrayObject *__pyx_v_iindF = 0;
PyArrayObject *__pyx_v_indM = 0;
PyArrayObject *__pyx_v_NL = 0;
PyArrayObject *__pyx_v_ind = 0;
PyArrayObject *__pyx_v_ptsrz = 0;
PyArrayObject *__pyx_v_pts = 0;
PyArrayObject *__pyx_v_PtsM = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_Pts = 0;
PyObject *__pyx_v_LPts = 0;
PyObject *__pyx_v_LdS = 0;
PyObject *__pyx_v_Lind = 0;
CYTHON_UNUSED PyObject *__pyx_v_DPhiMinMax = NULL;
int __pyx_v_Full;
PyObject *__pyx_v_DPhi0 = NULL;
PyObject *__pyx_v_DPhi1 = NULL;
CYTHON_UNUSED PyObject *__pyx_v_DDPhi = NULL;
PyObject *__pyx_v_Inter = NULL;
PyObject *__pyx_v_Bounds = NULL;
PyObject *__pyx_v_Faces = NULL;
PyObject *__pyx_v_BC = NULL;
Py_ssize_t __pyx_v_nBounds;
Py_ssize_t __pyx_v_ii;
PyObject *__pyx_v_indin = NULL;
PyObject *__pyx_v_nRPhi0 = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsM;
__Pyx_Buffer __pyx_pybuffer_PtsM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_R0;
__Pyx_Buffer __pyx_pybuffer_R0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Z0;
__Pyx_Buffer __pyx_pybuffer_Z0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dRPhir;
__Pyx_Buffer __pyx_pybuffer_dRPhir;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dSM;
__Pyx_Buffer __pyx_pybuffer_dSM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dsF;
__Pyx_Buffer __pyx_pybuffer_dsF;
__Pyx_LocalBuf_ND __pyx_pybuffernd_iind;
__Pyx_Buffer __pyx_pybuffer_iind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_iindF;
__Pyx_Buffer __pyx_pybuffer_iindF;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indM;
__Pyx_Buffer __pyx_pybuffer_indM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indR0;
__Pyx_Buffer __pyx_pybuffer_indR0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ0;
__Pyx_Buffer __pyx_pybuffer_indZ0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_pts;
__Pyx_Buffer __pyx_pybuffer_pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ptsrz;
__Pyx_Buffer __pyx_pybuffer_ptsrz;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__57)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_TorStruct_SubFromD_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_TorStruct_SubFromD_cython", __pyx_f[0], 1178, 0, __PYX_ERR(0, 1178, __pyx_L1_error));
__pyx_pybuffer_R0.pybuffer.buf = NULL;
__pyx_pybuffer_R0.refcount = 0;
__pyx_pybuffernd_R0.data = NULL;
__pyx_pybuffernd_R0.rcbuffer = &__pyx_pybuffer_R0;
__pyx_pybuffer_Z0.pybuffer.buf = NULL;
__pyx_pybuffer_Z0.refcount = 0;
__pyx_pybuffernd_Z0.data = NULL;
__pyx_pybuffernd_Z0.rcbuffer = &__pyx_pybuffer_Z0;
__pyx_pybuffer_dsF.pybuffer.buf = NULL;
__pyx_pybuffer_dsF.refcount = 0;
__pyx_pybuffernd_dsF.data = NULL;
__pyx_pybuffernd_dsF.rcbuffer = &__pyx_pybuffer_dsF;
__pyx_pybuffer_dSM.pybuffer.buf = NULL;
__pyx_pybuffer_dSM.refcount = 0;
__pyx_pybuffernd_dSM.data = NULL;
__pyx_pybuffernd_dSM.rcbuffer = &__pyx_pybuffer_dSM;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_dRPhir.pybuffer.buf = NULL;
__pyx_pybuffer_dRPhir.refcount = 0;
__pyx_pybuffernd_dRPhir.data = NULL;
__pyx_pybuffernd_dRPhir.rcbuffer = &__pyx_pybuffer_dRPhir;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_indR0.pybuffer.buf = NULL;
__pyx_pybuffer_indR0.refcount = 0;
__pyx_pybuffernd_indR0.data = NULL;
__pyx_pybuffernd_indR0.rcbuffer = &__pyx_pybuffer_indR0;
__pyx_pybuffer_indZ0.pybuffer.buf = NULL;
__pyx_pybuffer_indZ0.refcount = 0;
__pyx_pybuffernd_indZ0.data = NULL;
__pyx_pybuffernd_indZ0.rcbuffer = &__pyx_pybuffer_indZ0;
__pyx_pybuffer_iind.pybuffer.buf = NULL;
__pyx_pybuffer_iind.refcount = 0;
__pyx_pybuffernd_iind.data = NULL;
__pyx_pybuffernd_iind.rcbuffer = &__pyx_pybuffer_iind;
__pyx_pybuffer_iindF.pybuffer.buf = NULL;
__pyx_pybuffer_iindF.refcount = 0;
__pyx_pybuffernd_iindF.data = NULL;
__pyx_pybuffernd_iindF.rcbuffer = &__pyx_pybuffer_iindF;
__pyx_pybuffer_indM.pybuffer.buf = NULL;
__pyx_pybuffer_indM.refcount = 0;
__pyx_pybuffernd_indM.data = NULL;
__pyx_pybuffernd_indM.rcbuffer = &__pyx_pybuffer_indM;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
__pyx_pybuffer_ptsrz.pybuffer.buf = NULL;
__pyx_pybuffer_ptsrz.refcount = 0;
__pyx_pybuffernd_ptsrz.data = NULL;
__pyx_pybuffernd_ptsrz.rcbuffer = &__pyx_pybuffer_ptsrz;
__pyx_pybuffer_pts.pybuffer.buf = NULL;
__pyx_pybuffer_pts.refcount = 0;
__pyx_pybuffernd_pts.data = NULL;
__pyx_pybuffernd_pts.rcbuffer = &__pyx_pybuffer_pts;
__pyx_pybuffer_PtsM.pybuffer.buf = NULL;
__pyx_pybuffer_PtsM.refcount = 0;
__pyx_pybuffernd_PtsM.data = NULL;
__pyx_pybuffernd_PtsM.rcbuffer = &__pyx_pybuffer_PtsM;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
__Pyx_XDECREF(__pyx_t_31);
__Pyx_XDECREF(__pyx_t_33);
__Pyx_XDECREF(__pyx_t_41);
__PYX_XDEC_MEMVIEW(&__pyx_t_49, 1);
__Pyx_XDECREF(__pyx_t_53);
__Pyx_XDECREF(__pyx_t_54);
__Pyx_XDECREF(__pyx_t_56);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dsF.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iindF.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_TorStruct_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dsF.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iindF.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_phiMinMax, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_R0);
__Pyx_XDECREF((PyObject *)__pyx_v_Z0);
__Pyx_XDECREF((PyObject *)__pyx_v_dsF);
__Pyx_XDECREF((PyObject *)__pyx_v_dSM);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_dRPhir);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_indR0);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ0);
__Pyx_XDECREF((PyObject *)__pyx_v_iind);
__Pyx_XDECREF((PyObject *)__pyx_v_iindF);
__Pyx_XDECREF((PyObject *)__pyx_v_indM);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF((PyObject *)__pyx_v_ptsrz);
__Pyx_XDECREF((PyObject *)__pyx_v_pts);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsM);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF(__pyx_v_LPts);
__Pyx_XDECREF(__pyx_v_LdS);
__Pyx_XDECREF(__pyx_v_Lind);
__Pyx_XDECREF(__pyx_v_DPhiMinMax);
__Pyx_XDECREF(__pyx_v_DPhi0);
__Pyx_XDECREF(__pyx_v_DPhi1);
__Pyx_XDECREF(__pyx_v_DDPhi);
__Pyx_XDECREF(__pyx_v_Inter);
__Pyx_XDECREF(__pyx_v_Bounds);
__Pyx_XDECREF(__pyx_v_Faces);
__Pyx_XDECREF(__pyx_v_BC);
__Pyx_XDECREF(__pyx_v_indin);
__Pyx_XDECREF(__pyx_v_nRPhi0);
__PYX_XDEC_MEMVIEW(&__pyx_v_PhiMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__132 = PyTuple_Pack(56, __pyx_n_s_PhiMinMax, __pyx_n_s_dL, __pyx_n_s_dRPhi, __pyx_n_s_VPoly, __pyx_n_s_DR, __pyx_n_s_DZ, __pyx_n_s_DPhi, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_Dphi, __pyx_n_s_dR0r, __pyx_n_s_dZ0r, __pyx_n_s_NR0, __pyx_n_s_NZ0, __pyx_n_s_R0n, __pyx_n_s_Z0n, __pyx_n_s_NRPhi0, __pyx_n_s_phiMinMax, __pyx_n_s_R0, __pyx_n_s_Z0, __pyx_n_s_dsF, __pyx_n_s_dSM, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_dRPhir, __pyx_n_s_dS, __pyx_n_s_indR0, __pyx_n_s_indZ0, __pyx_n_s_iind, __pyx_n_s_iindF, __pyx_n_s_indM, __pyx_n_s_NL, __pyx_n_s_ind, __pyx_n_s_ptsrz, __pyx_n_s_pts, __pyx_n_s_PtsM, __pyx_n_s_VPbis, __pyx_n_s_Pts, __pyx_n_s_LPts, __pyx_n_s_LdS, __pyx_n_s_Lind, __pyx_n_s_DPhiMinMax, __pyx_n_s_Full, __pyx_n_s_DPhi0, __pyx_n_s_DPhi1, __pyx_n_s_DDPhi, __pyx_n_s_Inter, __pyx_n_s_Bounds, __pyx_n_s_Faces, __pyx_n_s_BC, __pyx_n_s_nBounds, __pyx_n_s_ii, __pyx_n_s_indin, __pyx_n_s_nRPhi0); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 1178, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__132);
__Pyx_GIVEREF(__pyx_tuple__132);
/* … */
__Pyx_TraceLine(1178,0,__PYX_ERR(0, 1178, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1178, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 4, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_4, 5, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_37_Ves_Smesh_TorStruct_SubFromD_cython, 0, __pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1178, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy, __pyx_t_2) < 0) __PYX_ERR(0, 1178, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(11, 0, 56, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_TorStruct_SubFromD_cy, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 1178, __pyx_L1_error)
1179: double[:,::1] VPoly,
+1180: DR=None, DZ=None, DPhi=None,
values[4] = ((PyObject *)((PyObject *)Py_None));
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_None));
+1181: double DIn=0., VIn=None,
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_PhiMinMax)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromD_cython", 0, 4, 11, 1); __PYX_ERR(0, 1178, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromD_cython", 0, 4, 11, 2); __PYX_ERR(0, 1178, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromD_cython", 0, 4, 11, 3); __PYX_ERR(0, 1178, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DR);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DZ);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DPhi);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[10] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_TorStruct_SubFromD_cython") < 0)) __PYX_ERR(0, 1178, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_PhiMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_PhiMinMax.memview)) __PYX_ERR(0, 1178, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1178, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1178, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 1179, __pyx_L3_error)
__pyx_v_DR = values[4];
__pyx_v_DZ = values[5];
__pyx_v_DPhi = values[6];
if (values[7]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1181, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[8];
__pyx_v_Out = ((PyObject*)values[9]);
if (values[10]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1182, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromD_cython", 0, 4, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1178, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_TorStruct_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 1182, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_36_Ves_Smesh_TorStruct_SubFromD_cython(__pyx_self, __pyx_v_PhiMinMax, __pyx_v_dL, __pyx_v_dRPhi, __pyx_v_VPoly, __pyx_v_DR, __pyx_v_DZ, __pyx_v_DPhi, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_Out, __pyx_v_margin);
/* … */
__Pyx_TraceLine(1181,0,__PYX_ERR(0, 1181, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1181, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+1182: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(1182,0,__PYX_ERR(0, 1182, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
1183: " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) "
+1184: cdef double Dphi, dR0r=0., dZ0r=0.
__Pyx_TraceLine(1184,0,__PYX_ERR(0, 1184, __pyx_L1_error)) __pyx_v_dR0r = 0.; __pyx_v_dZ0r = 0.;
+1185: cdef int NR0=0, NZ0=0, R0n, Z0n, NRPhi0
__Pyx_TraceLine(1185,0,__PYX_ERR(0, 1185, __pyx_L1_error)) __pyx_v_NR0 = 0; __pyx_v_NZ0 = 0;
+1186: cdef double[::1] phiMinMax = np.array([Catan2(Csin(PhiMinMax[0]),Ccos(PhiMinMax[0])), Catan2(Csin(PhiMinMax[1]),Ccos(PhiMinMax[1]))])
__Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_2 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_4)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_5)) )))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = 1; __pyx_t_7 = 1; __pyx_t_8 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_6)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_7)) )))))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_8); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_phiMinMax = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
1187: cdef cnp.ndarray[double, ndim=1] R0, Z0, dsF, dSM, dLr, Rref, dRPhir, dS
1188: cdef cnp.ndarray[long,ndim=1] indR0, indZ0, iind, iindF, indM, NL, ind
1189: cdef cnp.ndarray[double,ndim=2] ptsrz, pts, PtsM, VPbis, Pts
+1190: cdef list LPts=[], LdS=[], Lind=[]
__Pyx_TraceLine(1190,0,__PYX_ERR(0, 1190, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LPts = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LdS = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_Lind = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
1191:
1192: # Pre-format input
+1193: if PhiMinMax is None:
__Pyx_TraceLine(1193,0,__PYX_ERR(0, 1193, __pyx_L1_error)) __pyx_t_11 = ((((PyObject *) __pyx_v_PhiMinMax.memview) == Py_None) != 0); if (__pyx_t_11) { /* … */ goto __pyx_L3; }
+1194: PhiMinMax = np.array([-Cpi,Cpi])
__Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble((-M_PI)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_8); __pyx_t_3 = 0; __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_2); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_PhiMinMax, 1); __pyx_v_PhiMinMax = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+1195: DPhiMinMax = 2.*Cpi
__Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L1_error)) __pyx_t_1 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_DPhiMinMax = __pyx_t_1; __pyx_t_1 = 0;
+1196: Full = True
__Pyx_TraceLine(1196,0,__PYX_ERR(0, 1196, __pyx_L1_error)) __pyx_v_Full = 1;
1197: else:
+1198: PhiMinMax = np.array([Catan2(Csin(PhiMinMax[0]),Ccos(PhiMinMax[0])), Catan2(Csin(PhiMinMax[1]),Ccos(PhiMinMax[1]))])
__Pyx_TraceLine(1198,0,__PYX_ERR(0, 1198, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_9 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_12)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_13)) )))))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = 1; __pyx_t_15 = 1; __pyx_t_8 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_14)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_15)) )))))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_8); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1198, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_PhiMinMax, 1); __pyx_v_PhiMinMax = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+1199: DPhiMinMax = PhiMinMax[1]-PhiMinMax[0] if PhiMinMax[1]>=PhiMinMax[0] else 2.*Cpi + PhiMinMax[1] - PhiMinMax[0]
__Pyx_TraceLine(1199,0,__PYX_ERR(0, 1199, __pyx_L1_error)) __pyx_t_16 = 1; __pyx_t_17 = 0; if ((((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_16)) ))) >= (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_17)) )))) != 0)) { __pyx_t_18 = 1; __pyx_t_19 = 0; __pyx_t_2 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_18)) ))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_19)) ))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __pyx_t_2 = 0; } else { __pyx_t_20 = 1; __pyx_t_21 = 0; __pyx_t_2 = PyFloat_FromDouble((((2. * M_PI) + (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_20)) )))) - (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_21)) ))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_v_DPhiMinMax = __pyx_t_1; __pyx_t_1 = 0;
+1200: Full = False
__Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L1_error)) __pyx_v_Full = 0; } __pyx_L3:;
1201:
1202: # Get the limits if any (and make sure to replace them in the proper quadrants)
+1203: if DPhi is None:
__Pyx_TraceLine(1203,0,__PYX_ERR(0, 1203, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_DPhi == Py_None); __pyx_t_22 = (__pyx_t_11 != 0); if (__pyx_t_22) { /* … */ goto __pyx_L4; }
+1204: DPhi0, DPhi1 = PhiMinMax[0], PhiMinMax[1]
__Pyx_TraceLine(1204,0,__PYX_ERR(0, 1204, __pyx_L1_error)) __pyx_t_23 = 0; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_23)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_24 = 1; __pyx_t_2 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_24)) )))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_DPhi0 = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_DPhi1 = __pyx_t_2; __pyx_t_2 = 0;
1205: else:
+1206: DPhi0 = PhiMinMax[0] if DPhi[0] is None else Catan2(Csin(DPhi[0]),Ccos(DPhi[0]))
__Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L1_error)) /*else*/ { __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = (__pyx_t_1 == Py_None); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((__pyx_t_22 != 0)) { __pyx_t_25 = 0; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_25)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } else { __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_27 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(atan2(sin(__pyx_t_26), cos(__pyx_t_27))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } __pyx_v_DPhi0 = __pyx_t_2; __pyx_t_2 = 0;
+1207: DPhi1 = PhiMinMax[1] if DPhi[1] is None else Catan2(Csin(DPhi[1]),Ccos(DPhi[1]))
__Pyx_TraceLine(1207,0,__PYX_ERR(0, 1207, __pyx_L1_error)) __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = (__pyx_t_1 == Py_None); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((__pyx_t_22 != 0)) { __pyx_t_28 = 1; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_28)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } else { __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_27 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DPhi, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(atan2(sin(__pyx_t_27), cos(__pyx_t_26))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } __pyx_v_DPhi1 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L4:;
+1208: DDPhi = DPhi1-DPhi0 if DPhi1>DPhi0 else 2.*Cpi+DPhi1-DPhi0
__Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L1_error)) __pyx_t_1 = PyObject_RichCompare(__pyx_v_DPhi1, __pyx_v_DPhi0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_22) { __pyx_t_1 = PyNumber_Subtract(__pyx_v_DPhi1, __pyx_v_DPhi0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } else { __pyx_t_1 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_DPhi1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_3, __pyx_v_DPhi0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } __pyx_v_DDPhi = __pyx_t_2; __pyx_t_2 = 0;
1209:
+1210: Inter, Bounds, Faces = _getBoundsInter2AngSeg(Full, PhiMinMax[0], PhiMinMax[1], DPhi0, DPhi1)
__Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_getBoundsInter2AngSeg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_Full); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_29 = 0; __pyx_t_8 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_29)) )))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_30 = 1; __pyx_t_9 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_30)) )))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_31 = NULL; __pyx_t_32 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_31)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_32 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[6] = {__pyx_t_31, __pyx_t_3, __pyx_t_8, __pyx_t_9, __pyx_v_DPhi0, __pyx_v_DPhi1}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_32, 5+__pyx_t_32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[6] = {__pyx_t_31, __pyx_t_3, __pyx_t_8, __pyx_t_9, __pyx_v_DPhi0, __pyx_v_DPhi1}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_32, 5+__pyx_t_32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_33 = PyTuple_New(5+__pyx_t_32); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); if (__pyx_t_31) { __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_31); __pyx_t_31 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_33, 0+__pyx_t_32, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_33, 1+__pyx_t_32, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_33, 2+__pyx_t_32, __pyx_t_9); __Pyx_INCREF(__pyx_v_DPhi0); __Pyx_GIVEREF(__pyx_v_DPhi0); PyTuple_SET_ITEM(__pyx_t_33, 3+__pyx_t_32, __pyx_v_DPhi0); __Pyx_INCREF(__pyx_v_DPhi1); __Pyx_GIVEREF(__pyx_v_DPhi1); PyTuple_SET_ITEM(__pyx_t_33, 4+__pyx_t_32, __pyx_v_DPhi1); __pyx_t_3 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_33, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1210, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_33 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_33 = PyList_GET_ITEM(sequence, 1); __pyx_t_9 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_33 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_9 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_34 = Py_TYPE(__pyx_t_8)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_34(__pyx_t_8); if (unlikely(!__pyx_t_1)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_33 = __pyx_t_34(__pyx_t_8); if (unlikely(!__pyx_t_33)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_33); index = 2; __pyx_t_9 = __pyx_t_34(__pyx_t_8); if (unlikely(!__pyx_t_9)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_34(__pyx_t_8), 3) < 0) __PYX_ERR(0, 1210, __pyx_L1_error) __pyx_t_34 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_34 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1210, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_v_Inter = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_Bounds = __pyx_t_33; __pyx_t_33 = 0; __pyx_v_Faces = __pyx_t_9; __pyx_t_9 = 0;
1211:
+1212: if Inter:
__Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L1_error)) __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_v_Inter); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1212, __pyx_L1_error) if (__pyx_t_22) { /* … */ goto __pyx_L7; }
+1213: BC = list(Bounds)
__Pyx_TraceLine(1213,0,__PYX_ERR(0, 1213, __pyx_L1_error)) __pyx_t_2 = PySequence_List(__pyx_v_Bounds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_BC = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+1214: nBounds = len(Bounds)
__Pyx_TraceLine(1214,0,__PYX_ERR(0, 1214, __pyx_L1_error)) __pyx_t_35 = PyObject_Length(__pyx_v_Bounds); if (unlikely(__pyx_t_35 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1214, __pyx_L1_error) __pyx_v_nBounds = __pyx_t_35;
+1215: for ii in range(0,nBounds):
__Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L1_error)) __pyx_t_35 = __pyx_v_nBounds; __pyx_t_36 = __pyx_t_35; for (__pyx_t_37 = 0; __pyx_t_37 < __pyx_t_36; __pyx_t_37+=1) { __pyx_v_ii = __pyx_t_37;
+1216: if BC[ii][0]<PhiMinMax[0]:
__Pyx_TraceLine(1216,0,__PYX_ERR(0, 1216, __pyx_L1_error)) __pyx_t_2 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_38 = 0; __pyx_t_9 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_38)) )))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_33 = PyObject_RichCompare(__pyx_t_2, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_33); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_33); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (__pyx_t_22) { /* … */ }
+1217: BC[ii][0] += 2.*Cpi
__Pyx_TraceLine(1217,0,__PYX_ERR(0, 1217, __pyx_L1_error)) __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii)); __pyx_t_33 = PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii); __pyx_t_39 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_33, __pyx_t_39, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_33, __pyx_t_39, __pyx_t_1, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 1217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+1218: if BC[ii][1]<=PhiMinMax[0]:
__Pyx_TraceLine(1218,0,__PYX_ERR(0, 1218, __pyx_L1_error)) __pyx_t_33 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii), 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_40 = 0; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_40)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_33, __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_22) { /* … */ } }
+1219: BC[ii][1] += 2.*Cpi
__Pyx_TraceLine(1219,0,__PYX_ERR(0, 1219, __pyx_L1_error)) __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii)); __pyx_t_2 = PyList_GET_ITEM(__pyx_v_BC, __pyx_v_ii); __pyx_t_39 = 1; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, __pyx_t_39, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_33 = PyFloat_FromDouble((2. * M_PI)); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_33); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_t_39, __pyx_t_9, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 1219, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1220:
+1221: Dphi = DIn/np.max(VPoly[0,:]) if DIn!=0. else 0. # Required distance effective at max R
__Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L1_error)) if (((__pyx_v_DIn != 0.) != 0)) { __pyx_t_2 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1221, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_33 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_9 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_8, __pyx_t_33) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_33); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_27 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_27 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_26 = __pyx_t_27; } else { __pyx_t_26 = 0.; } __pyx_v_Dphi = __pyx_t_26;
1222:
1223: # Get the mesh for the faces
+1224: if any(Faces) :
__Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_any, __pyx_v_Faces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_22) { /* … */ }
+1225: R0, dR0r, indR0, NR0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[0,:]),np.max(VPoly[0,:])]), dL, DL=DR, Lim=True, margin=margin)
__Pyx_TraceLine(1225,0,__PYX_ERR(0, 1225, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1225, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_31 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_31)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_31, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8); __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_max); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1225, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_3 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_41, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_8); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_31 = PyList_New(2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_31, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_31, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_33))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_33); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_33); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_33, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_33, __pyx_t_3, __pyx_t_31) : __Pyx_PyObject_CallOneArg(__pyx_t_33, __pyx_t_31); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_33 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_31 = PyTuple_New(2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_33); PyTuple_SET_ITEM(__pyx_t_31, 1, __pyx_t_33); __pyx_t_9 = 0; __pyx_t_33 = 0; __pyx_t_33 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); if (PyDict_SetItem(__pyx_t_33, __pyx_n_s_DL, __pyx_v_DR) < 0) __PYX_ERR(0, 1225, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_33, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1225, __pyx_L1_error) __pyx_t_9 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_33, __pyx_n_s_margin, __pyx_t_9) < 0) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_31, __pyx_t_33); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) { PyObject* sequence = __pyx_t_9; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1225, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_33 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_31 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_33 = PyList_GET_ITEM(sequence, 0); __pyx_t_31 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_33,&__pyx_t_31,&__pyx_t_1,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_33,&__pyx_t_31,&__pyx_t_1,&__pyx_t_3}; __pyx_t_2 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_34 = Py_TYPE(__pyx_t_2)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_34(__pyx_t_2); if (unlikely(!item)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_34(__pyx_t_2), 4) < 0) __PYX_ERR(0, 1225, __pyx_L1_error) __pyx_t_34 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L14_unpacking_done; __pyx_L13_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_34 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1225, __pyx_L1_error) __pyx_L14_unpacking_done:; } if (!(likely(((__pyx_t_33) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_33, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1225, __pyx_L1_error) __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_t_31); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1225, __pyx_L1_error) __pyx_t_32 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_32 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_33); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer); __pyx_t_43 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_43 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_v_R0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_R0.diminfo[0].strides = __pyx_pybuffernd_R0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_R0.diminfo[0].shape = __pyx_pybuffernd_R0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_43 < 0)) __PYX_ERR(0, 1225, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_R0 = ((PyArrayObject *)__pyx_t_33); __pyx_t_33 = 0; __pyx_v_dR0r = __pyx_t_26; __pyx_t_47 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer); __pyx_t_43 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_43 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indR0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_indR0.diminfo[0].strides = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indR0.diminfo[0].shape = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_43 < 0)) __PYX_ERR(0, 1225, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_indR0 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_v_NR0 = __pyx_t_32;
+1226: Z0, dZ0r, indZ0, NZ0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[1,:]),np.max(VPoly[1,:])]), dL, DL=DZ, Lim=True, margin=margin)
__Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1226, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_33 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_t_33) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_33); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1226, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_33 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_2 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_41, __pyx_t_33) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_33); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_31 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_31); __pyx_t_3 = 0; __pyx_t_31 = 0; __pyx_t_31 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); if (PyDict_SetItem(__pyx_t_31, __pyx_n_s_DL, __pyx_v_DZ) < 0) __PYX_ERR(0, 1226, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_31, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1226, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_31, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, __pyx_t_31); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1226, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_31 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_31 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); __pyx_t_9 = PyList_GET_ITEM(sequence, 2); __pyx_t_2 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_31,&__pyx_t_8,&__pyx_t_9,&__pyx_t_2}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_31,&__pyx_t_8,&__pyx_t_9,&__pyx_t_2}; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_34 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_34(__pyx_t_1); if (unlikely(!item)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_34(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1226, __pyx_L1_error) __pyx_t_34 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L16_unpacking_done; __pyx_L15_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_34 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1226, __pyx_L1_error) __pyx_L16_unpacking_done:; } if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1226, __pyx_L1_error) __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1226, __pyx_L1_error) __pyx_t_32 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_32 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_31); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer); __pyx_t_43 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_43 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Z0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_Z0.diminfo[0].strides = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Z0.diminfo[0].shape = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_43 < 0)) __PYX_ERR(0, 1226, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_Z0 = ((PyArrayObject *)__pyx_t_31); __pyx_t_31 = 0; __pyx_v_dZ0r = __pyx_t_26; __pyx_t_47 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_43 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_43 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_43 < 0)) __PYX_ERR(0, 1226, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_indZ0 = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_v_NZ0 = __pyx_t_32;
+1227: R0n, Z0n = len(R0), len(Z0)
__Pyx_TraceLine(1227,0,__PYX_ERR(0, 1227, __pyx_L1_error)) __pyx_t_35 = PyObject_Length(((PyObject *)__pyx_v_R0)); if (unlikely(__pyx_t_35 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1227, __pyx_L1_error) __pyx_t_36 = PyObject_Length(((PyObject *)__pyx_v_Z0)); if (unlikely(__pyx_t_36 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1227, __pyx_L1_error) __pyx_v_R0n = __pyx_t_35; __pyx_v_Z0n = __pyx_t_36;
+1228: ptsrz = np.array([np.tile(R0,Z0n),np.repeat(Z0,R0n)])
__Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_tile); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = NULL; __pyx_t_32 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); __pyx_t_32 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_31)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_R0), __pyx_t_8}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_R0), __pyx_t_8}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_33 = PyTuple_New(2+__pyx_t_32); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_R0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_R0)); PyTuple_SET_ITEM(__pyx_t_33, 0+__pyx_t_32, ((PyObject *)__pyx_v_R0)); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_33, 1+__pyx_t_32, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_33, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; } __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_repeat); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_33 = __Pyx_PyInt_From_int(__pyx_v_R0n); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_1 = NULL; __pyx_t_32 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_32 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_Z0), __pyx_t_33}; __pyx_t_31 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_Z0), __pyx_t_33}; __pyx_t_31 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; } else #endif { __pyx_t_41 = PyTuple_New(2+__pyx_t_32); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Z0)); PyTuple_SET_ITEM(__pyx_t_41, 0+__pyx_t_32, ((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(__pyx_t_33); PyTuple_SET_ITEM(__pyx_t_41, 1+__pyx_t_32, __pyx_t_33); __pyx_t_33 = 0; __pyx_t_31 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_41, NULL); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_31); __pyx_t_2 = 0; __pyx_t_31 = 0; __pyx_t_31 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_31)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_31, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1228, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer, (PyObject*)__pyx_v_ptsrz, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_ptsrz.diminfo[0].strides = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ptsrz.diminfo[0].shape = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ptsrz.diminfo[1].strides = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ptsrz.diminfo[1].shape = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1228, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_ptsrz = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+1229: iind = NR0*np.repeat(indZ0,R0n) + np.tile(indR0,Z0n)
__Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_repeat); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_R0n); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_32 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); __pyx_t_32 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_31)) { PyObject *__pyx_temp[3] = {__pyx_t_2, ((PyObject *)__pyx_v_indZ0), __pyx_t_8}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) { PyObject *__pyx_temp[3] = {__pyx_t_2, ((PyObject *)__pyx_v_indZ0), __pyx_t_8}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_41 = PyTuple_New(2+__pyx_t_32); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indZ0)); PyTuple_SET_ITEM(__pyx_t_41, 0+__pyx_t_32, ((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_41, 1+__pyx_t_32, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_41, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; } __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_31 = PyNumber_Multiply(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tile); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_32 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_41))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_41); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_41); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_41, function); __pyx_t_32 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_41)) { PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_indR0), __pyx_t_3}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_41, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_41)) { PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_indR0), __pyx_t_3}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_41, __pyx_temp+1-__pyx_t_32, 2+__pyx_t_32); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indR0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indR0)); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_32, ((PyObject *)__pyx_v_indR0)); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_32, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_41, __pyx_t_2, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = PyNumber_Add(__pyx_t_31, __pyx_t_9); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_41) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_41, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1229, __pyx_L1_error) __pyx_t_47 = ((PyArrayObject *)__pyx_t_41); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iind.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iind.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iind.rcbuffer->pybuffer, (PyObject*)__pyx_v_iind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_iind.diminfo[0].strides = __pyx_pybuffernd_iind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iind.diminfo[0].shape = __pyx_pybuffernd_iind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1229, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_iind = ((PyArrayObject *)__pyx_t_41); __pyx_t_41 = 0;
+1230: indin = Path(VPoly.T).contains_points(ptsrz.T, transform=None, radius=0.0)
__Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Path); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_49 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_49, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_49) == 0)) __PYX_ERR(0, 1230, __pyx_L1_error) __pyx_t_31 = __pyx_memoryview_fromslice(__pyx_t_49, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __PYX_XDEC_MEMVIEW(&__pyx_t_49, 1); __pyx_t_49.memview = NULL; __pyx_t_49.data = NULL; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_41 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_2, __pyx_t_31) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_31); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ptsrz), __pyx_n_s_T); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_31 = PyTuple_New(1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 1230, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 1230, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_31, __pyx_t_41); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_v_indin = __pyx_t_2; __pyx_t_2 = 0;
+1231: if np.any(indin):
__Pyx_TraceLine(1231,0,__PYX_ERR(0, 1231, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_np); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_any); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_2 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_41, __pyx_v_indin) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_v_indin); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1231, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_22) { /* … */ }
+1232: ptsrz = ptsrz[:,indin] if indin.sum()>1 else ptsrz[:,indin].reshape((2,1))
__Pyx_TraceLine(1232,0,__PYX_ERR(0, 1232, __pyx_L1_error)) __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_41))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_41); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_41); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_41, function); } } __pyx_t_31 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_41); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = PyObject_RichCompare(__pyx_t_31, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_41); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_41); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (__pyx_t_22) { __pyx_t_41 = PyTuple_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_41, 1, __pyx_v_indin); __pyx_t_31 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_t_41); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1232, __pyx_L1_error) __pyx_t_2 = __pyx_t_31; __pyx_t_31 = 0; } else { /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_41 = PyTuple_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_41, 1, __pyx_v_indin); __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_t_41); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_reshape); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_41))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_41); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_41); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_41, function); } } __pyx_t_31 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_41, __pyx_t_9, __pyx_tuple__42) : __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_tuple__42); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1232, __pyx_L1_error) __pyx_t_2 = __pyx_t_31; __pyx_t_31 = 0; } { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_2), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ptsrz.rcbuffer->pybuffer, (PyObject*)__pyx_v_ptsrz, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_ptsrz.diminfo[0].strides = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ptsrz.diminfo[0].shape = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ptsrz.diminfo[1].strides = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ptsrz.diminfo[1].shape = __pyx_pybuffernd_ptsrz.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1232, __pyx_L1_error) } __Pyx_DECREF_SET(__pyx_v_ptsrz, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_tuple__42 = PyTuple_Pack(2, __pyx_int_2, __pyx_int_1); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42);
+1233: iindF = iind[indin]
__Pyx_TraceLine(1233,0,__PYX_ERR(0, 1233, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_iind), __pyx_v_indin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1233, __pyx_L1_error) __pyx_t_47 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iindF.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iindF.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iindF.rcbuffer->pybuffer, (PyObject*)__pyx_v_iindF, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_iindF.diminfo[0].strides = __pyx_pybuffernd_iindF.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iindF.diminfo[0].shape = __pyx_pybuffernd_iindF.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1233, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_iindF = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1234: dsF = dR0r*dZ0r*np.ones((indin.sum(),))
__Pyx_TraceLine(1234,0,__PYX_ERR(0, 1234, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble((__pyx_v_dR0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_np); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_ones); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_41 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_31 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_41, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_2, __pyx_t_31); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1234, __pyx_L1_error) __pyx_t_42 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dsF.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dsF.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dsF.rcbuffer->pybuffer, (PyObject*)__pyx_v_dsF, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_dsF.diminfo[0].strides = __pyx_pybuffernd_dsF.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dsF.diminfo[0].shape = __pyx_pybuffernd_dsF.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dsF = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0;
1235:
1236: # First face
+1237: if Faces[0]:
__Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L1_error)) __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_Faces, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_22) { /* … */ }
+1238: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1238,0,__PYX_ERR(0, 1238, __pyx_L1_error)) __pyx_t_9 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_22 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_22) { /* … */ goto __pyx_L19; }
+1239: pts = np.array([ptsrz[0,:]*Ccos(phiMinMax[0]+Dphi), ptsrz[0,:]*Csin(phiMinMax[0]+Dphi), ptsrz[1,:]])
__Pyx_TraceLine(1239,0,__PYX_ERR(0, 1239, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_np); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_31, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_31 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_50 = 0; __pyx_t_3 = PyFloat_FromDouble(cos(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_50)) ))) + __pyx_v_Dphi))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_41 = PyNumber_Multiply(__pyx_t_31, __pyx_t_3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_51 = 0; __pyx_t_31 = PyFloat_FromDouble(sin(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_51)) ))) + __pyx_v_Dphi))); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_8 = PyNumber_Multiply(__pyx_t_3, __pyx_t_31); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_31 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__45); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_41); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_31); __pyx_t_41 = 0; __pyx_t_8 = 0; __pyx_t_31 = 0; __pyx_t_31 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_31)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_9 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_31, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1239, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1239, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_pts = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
1240: else:
+1241: pts = np.array([ptsrz[0,:],ptsrz[1,:],(phiMinMax[0]+Dphi)*np.ones((indin.sum(),))])
__Pyx_TraceLine(1241,0,__PYX_ERR(0, 1241, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_31 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__45); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_52 = 0; __pyx_t_8 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_52)) ))) + __pyx_v_Dphi)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_v_indin)) { __Pyx_RaiseUnboundLocalError("indin"); __PYX_ERR(0, 1241, __pyx_L1_error) } __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_54 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_53))) { __pyx_t_54 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_54)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_54); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_33 = (__pyx_t_54) ? __Pyx_PyObject_CallOneArg(__pyx_t_53, __pyx_t_54) : __Pyx_PyObject_CallNoArg(__pyx_t_53); __Pyx_XDECREF(__pyx_t_54); __pyx_t_54 = 0; if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_t_53 = PyTuple_New(1); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_GIVEREF(__pyx_t_33); PyTuple_SET_ITEM(__pyx_t_53, 0, __pyx_t_33); __pyx_t_33 = 0; __pyx_t_33 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_33)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_41 = (__pyx_t_33) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_33, __pyx_t_53) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_53); __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0; __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_8, __pyx_t_41); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = PyList_New(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_t_31); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_41, 2, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_31 = 0; __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_41) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_41); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1241, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1241, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_pts = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; } __pyx_L19:; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1241, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1242: LPts.append( pts )
__Pyx_TraceLine(1242,0,__PYX_ERR(0, 1242, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LPts, ((PyObject *)__pyx_v_pts)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1242, __pyx_L1_error)
+1243: Lind.append( iindF )
__Pyx_TraceLine(1243,0,__PYX_ERR(0, 1243, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_Lind, ((PyObject *)__pyx_v_iindF)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1243, __pyx_L1_error)
+1244: LdS.append( dsF )
__Pyx_TraceLine(1244,0,__PYX_ERR(0, 1244, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LdS, ((PyObject *)__pyx_v_dsF)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1244, __pyx_L1_error)
1245:
1246: # Main body
+1247: PtsM, dSM, indM, NL, dLr, Rref, dRPhir, nRPhi0, VPbis = _Ves_Smesh_Tor_SubFromD_cython(dL, dRPhi, VPoly,
__Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_41 = PyFloat_FromDouble(__pyx_v_dRPhi); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_31 = PyTuple_New(3); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_31, 1, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_31, 2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_41 = 0; __pyx_t_1 = 0; /* … */ __Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L1_error)) __pyx_t_41 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_31, __pyx_t_1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_41))) || (PyList_CheckExact(__pyx_t_41))) { PyObject* sequence = __pyx_t_41; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 9)) { if (size > 9) __Pyx_RaiseTooManyValuesError(9); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1247, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_31 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); __pyx_t_53 = PyTuple_GET_ITEM(sequence, 6); __pyx_t_33 = PyTuple_GET_ITEM(sequence, 7); __pyx_t_54 = PyTuple_GET_ITEM(sequence, 8); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_31 = PyList_GET_ITEM(sequence, 1); __pyx_t_9 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); __pyx_t_2 = PyList_GET_ITEM(sequence, 4); __pyx_t_8 = PyList_GET_ITEM(sequence, 5); __pyx_t_53 = PyList_GET_ITEM(sequence, 6); __pyx_t_33 = PyList_GET_ITEM(sequence, 7); __pyx_t_54 = PyList_GET_ITEM(sequence, 8); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_53); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(__pyx_t_54); #else { Py_ssize_t i; PyObject** temps[9] = {&__pyx_t_1,&__pyx_t_31,&__pyx_t_9,&__pyx_t_3,&__pyx_t_2,&__pyx_t_8,&__pyx_t_53,&__pyx_t_33,&__pyx_t_54}; for (i=0; i < 9; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; } else { Py_ssize_t index = -1; PyObject** temps[9] = {&__pyx_t_1,&__pyx_t_31,&__pyx_t_9,&__pyx_t_3,&__pyx_t_2,&__pyx_t_8,&__pyx_t_53,&__pyx_t_33,&__pyx_t_54}; __pyx_t_56 = PyObject_GetIter(__pyx_t_41); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_34 = Py_TYPE(__pyx_t_56)->tp_iternext; for (index=0; index < 9; index++) { PyObject* item = __pyx_t_34(__pyx_t_56); if (unlikely(!item)) goto __pyx_L20_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_34(__pyx_t_56), 9) < 0) __PYX_ERR(0, 1247, __pyx_L1_error) __pyx_t_34 = NULL; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; goto __pyx_L21_unpacking_done; __pyx_L20_unpacking_failed:; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; __pyx_t_34 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1247, __pyx_L1_error) __pyx_L21_unpacking_done:; } if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_53) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_53, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) if (!(likely(((__pyx_t_54) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_54, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1247, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsM, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_PtsM.diminfo[0].strides = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsM.diminfo[0].shape = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsM.diminfo[1].strides = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsM.diminfo[1].shape = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_PtsM = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_31); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer, (PyObject*)__pyx_v_dSM, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_dSM.diminfo[0].strides = __pyx_pybuffernd_dSM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dSM.diminfo[0].shape = __pyx_pybuffernd_dSM.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dSM = ((PyArrayObject *)__pyx_t_31); __pyx_t_31 = 0; __pyx_t_47 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indM.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indM.rcbuffer->pybuffer, (PyObject*)__pyx_v_indM, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_indM.diminfo[0].strides = __pyx_pybuffernd_indM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indM.diminfo[0].shape = __pyx_pybuffernd_indM.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_indM = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_t_47 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_53); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_53); __pyx_t_53 = 0; __pyx_v_nRPhi0 = __pyx_t_33; __pyx_t_33 = 0; __pyx_t_48 = ((PyArrayObject *)__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1247, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_54); __pyx_t_54 = 0;
+1248: DR=DR, DZ=DZ, DPhi=[DPhi0,DPhi1],
__Pyx_TraceLine(1248,0,__PYX_ERR(0, 1248, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_DR, __pyx_v_DR) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_DZ, __pyx_v_DZ) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_v_DPhi0); __Pyx_GIVEREF(__pyx_v_DPhi0); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_v_DPhi0); __Pyx_INCREF(__pyx_v_DPhi1); __Pyx_GIVEREF(__pyx_v_DPhi1); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_v_DPhi1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_DPhi, __pyx_t_41) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+1249: DIn=DIn, VIn=VIn, PhiMinMax=phiMinMax,
__Pyx_TraceLine(1249,0,__PYX_ERR(0, 1249, __pyx_L1_error)) __pyx_t_41 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_DIn, __pyx_t_41) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __pyx_t_41 = __pyx_memoryview_fromslice(__pyx_v_phiMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_PhiMinMax, __pyx_t_41) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+1250: Out=Out, margin=margin)
__Pyx_TraceLine(1250,0,__PYX_ERR(0, 1250, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Out, __pyx_v_Out) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __pyx_t_41 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_margin, __pyx_t_41) < 0) __PYX_ERR(0, 1248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
1251:
+1252: if PtsM.shape[1]>=1:
__Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L1_error)) __pyx_t_22 = (((__pyx_v_PtsM->dimensions[1]) >= 1) != 0); if (__pyx_t_22) { /* … */ }
+1253: if PtsM.shape[1]==1:
__Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L1_error)) __pyx_t_22 = (((__pyx_v_PtsM->dimensions[1]) == 1) != 0); if (__pyx_t_22) { /* … */ goto __pyx_L23; }
+1254: LPts.append(PtsM.reshape((3,1)))
__Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L1_error)) __pyx_t_54 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_PtsM), __pyx_n_s_reshape); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_33 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_54))) { __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_54); if (likely(__pyx_t_33)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_54); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_54, function); } } __pyx_t_41 = (__pyx_t_33) ? __Pyx_PyObject_Call2Args(__pyx_t_54, __pyx_t_33, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_54, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_41); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1254, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1254, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
1255: else:
+1256: LPts.append(PtsM)
__Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L1_error)) /*else*/ { __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LPts, ((PyObject *)__pyx_v_PtsM)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1256, __pyx_L1_error) } __pyx_L23:;
+1257: Lind.append( indM + NR0*NZ0 )
__Pyx_TraceLine(1257,0,__PYX_ERR(0, 1257, __pyx_L1_error)) __pyx_t_41 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_54 = PyNumber_Add(((PyObject *)__pyx_v_indM), __pyx_t_41); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_Lind, __pyx_t_54); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0;
+1258: LdS.append( dSM )
__Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LdS, ((PyObject *)__pyx_v_dSM)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1258, __pyx_L1_error)
1259:
1260: # Second face
+1261: if Faces[1]:
__Pyx_TraceLine(1261,0,__PYX_ERR(0, 1261, __pyx_L1_error)) __pyx_t_54 = __Pyx_GetItemInt(__pyx_v_Faces, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_54); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; if (__pyx_t_22) { /* … */ }
+1262: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1262,0,__PYX_ERR(0, 1262, __pyx_L1_error)) __pyx_t_54 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_22 = (__Pyx_PyString_Equals(__pyx_t_54, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; if (__pyx_t_22) { /* … */ goto __pyx_L25; }
+1263: pts = np.array([ptsrz[0,:]*Ccos(phiMinMax[1]-Dphi), ptsrz[0,:]*Csin(phiMinMax[1]-Dphi), ptsrz[1,:]])
__Pyx_TraceLine(1263,0,__PYX_ERR(0, 1263, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_np); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_array); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_41 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_57 = 1; __pyx_t_53 = PyFloat_FromDouble(cos(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_57)) ))) - __pyx_v_Dphi))); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_8 = PyNumber_Multiply(__pyx_t_41, __pyx_t_53); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_53 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_58 = 1; __pyx_t_41 = PyFloat_FromDouble(sin(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_58)) ))) - __pyx_v_Dphi))); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_2 = PyNumber_Multiply(__pyx_t_53, __pyx_t_41); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_41 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__45); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_53 = PyList_New(3); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_53, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_53, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_41); PyList_SET_ITEM(__pyx_t_53, 2, __pyx_t_41); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_41 = 0; __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_33))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_33); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_33); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_33, function); } } __pyx_t_54 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_33, __pyx_t_41, __pyx_t_53) : __Pyx_PyObject_CallOneArg(__pyx_t_33, __pyx_t_53); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (!(likely(((__pyx_t_54) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_54, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1263, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1263, __pyx_L1_error) } __pyx_t_48 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_54)); __pyx_t_54 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
1264: else:
+1265: pts = np.array([ptsrz[0,:],ptsrz[1,:],(phiMinMax[1]-Dphi)*np.ones((indin.sum(),))])
__Pyx_TraceLine(1265,0,__PYX_ERR(0, 1265, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_array); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_33 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__39); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_41 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ptsrz), __pyx_tuple__45); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_59 = 1; __pyx_t_2 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_59)) ))) - __pyx_v_Dphi)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_v_indin)) { __Pyx_RaiseUnboundLocalError("indin"); __PYX_ERR(0, 1265, __pyx_L1_error) } __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_31))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_31); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_31 = PyTuple_New(1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_8 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_3, __pyx_t_31) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_31); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_33); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_33); __Pyx_GIVEREF(__pyx_t_41); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_9); __pyx_t_33 = 0; __pyx_t_41 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_53))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_54 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_53, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_53, __pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (!(likely(((__pyx_t_54) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_54, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1265, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1265, __pyx_L1_error) } __pyx_t_48 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_54)); __pyx_t_54 = 0; } __pyx_L25:; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1266: LPts.append( pts )
__Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LPts, ((PyObject *)__pyx_v_pts)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1266, __pyx_L1_error)
+1267: Lind.append( iindF + NR0*NZ0 + nRPhi0 )
__Pyx_TraceLine(1267,0,__PYX_ERR(0, 1267, __pyx_L1_error)) __pyx_t_54 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_53 = PyNumber_Add(((PyObject *)__pyx_v_iindF), __pyx_t_54); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __pyx_t_54 = PyNumber_Add(__pyx_t_53, __pyx_v_nRPhi0); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_Lind, __pyx_t_54); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0;
+1268: LdS.append( dsF )
__Pyx_TraceLine(1268,0,__PYX_ERR(0, 1268, __pyx_L1_error)) __pyx_t_55 = __Pyx_PyList_Append(__pyx_v_LdS, ((PyObject *)__pyx_v_dsF)); if (unlikely(__pyx_t_55 == ((int)-1))) __PYX_ERR(0, 1268, __pyx_L1_error)
1269:
1270: # Aggregate
+1271: if len(LPts)==1:
__Pyx_TraceLine(1271,0,__PYX_ERR(0, 1271, __pyx_L1_error)) __pyx_t_36 = PyList_GET_SIZE(__pyx_v_LPts); if (unlikely(__pyx_t_36 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1271, __pyx_L1_error) __pyx_t_22 = ((__pyx_t_36 == 1) != 0); if (__pyx_t_22) { /* … */ goto __pyx_L26; }
+1272: Pts = LPts[0]
__Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_LPts, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LPts, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1272, __pyx_L1_error) __pyx_t_54 = PyList_GET_ITEM(__pyx_v_LPts, 0); __Pyx_INCREF(__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_54), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1272, __pyx_L1_error) } __pyx_v_Pts = ((PyArrayObject *)__pyx_t_54); __pyx_t_54 = 0;
+1273: ind = Lind[0]
__Pyx_TraceLine(1273,0,__PYX_ERR(0, 1273, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_Lind, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_Lind, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1273, __pyx_L1_error) __pyx_t_54 = PyList_GET_ITEM(__pyx_v_Lind, 0); __Pyx_INCREF(__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_54), &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1273, __pyx_L1_error) } __pyx_v_ind = ((PyArrayObject *)__pyx_t_54); __pyx_t_54 = 0;
+1274: dS = LdS[0]
__Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_LdS, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LdS, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1274, __pyx_L1_error) __pyx_t_54 = PyList_GET_ITEM(__pyx_v_LdS, 0); __Pyx_INCREF(__pyx_t_54); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_54), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1274, __pyx_L1_error) } __pyx_v_dS = ((PyArrayObject *)__pyx_t_54); __pyx_t_54 = 0;
1275: else:
+1276: Pts = np.concatenate(tuple(LPts),axis=1)
__Pyx_TraceLine(1276,0,__PYX_ERR(0, 1276, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_54, __pyx_n_s_np); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_54, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __pyx_t_54 = PyList_AsTuple(__pyx_v_LPts); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_54); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_54); __pyx_t_54 = 0; __pyx_t_54 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); if (PyDict_SetItem(__pyx_t_54, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1276, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_53, __pyx_t_8, __pyx_t_54); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1276, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1276, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0;
+1277: ind = np.concatenate(tuple(Lind)).astype(int)
__Pyx_TraceLine(1277,0,__PYX_ERR(0, 1277, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_AsTuple(__pyx_v_Lind); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_41 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_53))) { __pyx_t_41 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_41)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_54 = (__pyx_t_41) ? __Pyx_PyObject_Call2Args(__pyx_t_53, __pyx_t_41, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_53, __pyx_t_8); __Pyx_XDECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_54, __pyx_n_s_astype); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __pyx_t_54 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_53))) { __pyx_t_54 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_54)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_54); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_9 = (__pyx_t_54) ? __Pyx_PyObject_Call2Args(__pyx_t_53, __pyx_t_54, ((PyObject *)(&PyInt_Type))) : __Pyx_PyObject_CallOneArg(__pyx_t_53, ((PyObject *)(&PyInt_Type))); __Pyx_XDECREF(__pyx_t_54); __pyx_t_54 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1277, __pyx_L1_error) __pyx_t_47 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1277, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0;
+1278: dS = np.concatenate(tuple(LdS))
__Pyx_TraceLine(1278,0,__PYX_ERR(0, 1278, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_53, __pyx_n_s_np); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_t_53, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_t_53 = PyList_AsTuple(__pyx_v_LdS); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_54))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_54); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_54); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_54, function); } } __pyx_t_9 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_54, __pyx_t_8, __pyx_t_53) : __Pyx_PyObject_CallOneArg(__pyx_t_54, __pyx_t_53); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1278, __pyx_L1_error) __pyx_t_42 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1278, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; } __pyx_L26:;
1279:
1280: else:
+1281: Pts, dS, ind, NL, Rref = np.ones((3,0)), np.ones((0,)), np.ones((0,),dtype=int), np.ones((0,),dtype=int), np.nan*np.ones((VPoly.shape[1]-1,))
__Pyx_TraceLine(1281,0,__PYX_ERR(0, 1281, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_54, __pyx_n_s_np); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_54, __pyx_n_s_ones); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __pyx_t_54 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_53))) { __pyx_t_54 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_54)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_54); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_9 = (__pyx_t_54) ? __Pyx_PyObject_Call2Args(__pyx_t_53, __pyx_t_54, __pyx_tuple__54) : __Pyx_PyObject_CallOneArg(__pyx_t_53, __pyx_tuple__54); __Pyx_XDECREF(__pyx_t_54); __pyx_t_54 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_54, __pyx_n_s_np); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_54, __pyx_n_s_ones); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; /* … */ __pyx_tuple__54 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_0); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); __pyx_t_54 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_54 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_54)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_54); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_53 = (__pyx_t_54) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_54, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_54); __pyx_t_54 = 0; if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_53) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_53, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ones); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1281, __pyx_L1_error) __pyx_t_41 = __Pyx_PyObject_Call(__pyx_t_54, __pyx_tuple__58, __pyx_t_8); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_41) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_41, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ones); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_tuple__58 = PyTuple_Pack(1, __pyx_tuple__55); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1281, __pyx_L1_error) __pyx_t_33 = __Pyx_PyObject_Call(__pyx_t_54, __pyx_tuple__58, __pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_33) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_33, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_nan); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(((__pyx_v_VPoly.shape[1]) - 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_31 = PyNumber_Multiply(__pyx_t_54, __pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1281, __pyx_L1_error) __pyx_t_48 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_53); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_53); __pyx_t_53 = 0; __pyx_t_47 = ((PyArrayObject *)__pyx_t_41); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_41); __pyx_t_41 = 0; __pyx_t_47 = ((PyArrayObject *)__pyx_t_33); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_47, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) } __pyx_t_47 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_33); __pyx_t_33 = 0; __pyx_t_42 = ((PyArrayObject *)__pyx_t_31); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_31); __pyx_t_31 = 0; __pyx_tuple__58 = PyTuple_Pack(1, __pyx_tuple__55); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58);
+1282: dLr, dR0r, dZ0r, dRPhir, VPbis = np.ones((0,)), 0., 0., np.ones((0,)), np.asarray(VPoly)
__Pyx_TraceLine(1282,0,__PYX_ERR(0, 1282, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_ones); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_33 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_41))) { __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_41); if (likely(__pyx_t_33)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_41); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_41, function); } } __pyx_t_31 = (__pyx_t_33) ? __Pyx_PyObject_Call2Args(__pyx_t_41, __pyx_t_33, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (!(likely(((__pyx_t_31) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_31, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1282, __pyx_L1_error) __pyx_t_26 = 0.; __pyx_t_27 = 0.; __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_ones); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; /* … */ __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_33 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_53))) { __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_53); if (likely(__pyx_t_33)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_53); __Pyx_INCREF(__pyx_t_33); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_53, function); } } __pyx_t_41 = (__pyx_t_33) ? __Pyx_PyObject_Call2Args(__pyx_t_53, __pyx_t_33, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_53, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; if (!(likely(((__pyx_t_41) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_41, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_np); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_asarray); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; __pyx_t_33 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_53 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, __pyx_t_33) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_33); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0; if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_53) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_53, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1282, __pyx_L1_error) __pyx_t_42 = ((PyArrayObject *)__pyx_t_31); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1282, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_31); __pyx_t_31 = 0; __pyx_v_dR0r = __pyx_t_26; __pyx_v_dZ0r = __pyx_t_27; __pyx_t_42 = ((PyArrayObject *)__pyx_t_41); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_42, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_46, &__pyx_t_45, &__pyx_t_44); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_46); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_44); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_46, __pyx_t_45, __pyx_t_44); } __pyx_t_46 = __pyx_t_45 = __pyx_t_44 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1282, __pyx_L1_error) } __pyx_t_42 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_41); __pyx_t_41 = 0; __pyx_t_48 = ((PyArrayObject *)__pyx_t_53); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_32 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_48, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_32 < 0)) { PyErr_Fetch(&__pyx_t_44, &__pyx_t_45, &__pyx_t_46); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_44); Py_XDECREF(__pyx_t_45); Py_XDECREF(__pyx_t_46); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_44, __pyx_t_45, __pyx_t_46); } __pyx_t_44 = __pyx_t_45 = __pyx_t_46 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_32 < 0)) __PYX_ERR(0, 1282, __pyx_L1_error) } __pyx_t_48 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_53); __pyx_t_53 = 0; } __pyx_L7:; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55);
1283:
+1284: return Pts, dS, ind, NL, dLr, Rref, dR0r, dZ0r, dRPhir, VPbis
__Pyx_TraceLine(1284,0,__PYX_ERR(0, 1284, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_53 = PyFloat_FromDouble(__pyx_v_dR0r); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 1284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_41 = PyFloat_FromDouble(__pyx_v_dZ0r); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_31 = PyTuple_New(10); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_31, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_31, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_31, 2, ((PyObject *)__pyx_v_ind)); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_31, 3, ((PyObject *)__pyx_v_NL)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_31, 4, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_31, 5, ((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(__pyx_t_53); PyTuple_SET_ITEM(__pyx_t_31, 6, __pyx_t_53); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_31, 7, __pyx_t_41); __Pyx_INCREF(((PyObject *)__pyx_v_dRPhir)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dRPhir)); PyTuple_SET_ITEM(__pyx_t_31, 8, ((PyObject *)__pyx_v_dRPhir)); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_31, 9, ((PyObject *)__pyx_v_VPbis)); __pyx_t_53 = 0; __pyx_t_41 = 0; __pyx_r = __pyx_t_31; __pyx_t_31 = 0; goto __pyx_L0;
1285:
1286:
1287:
1288: @cython.cdivision(True)
1289: @cython.wraparound(False)
1290: @cython.boundscheck(False)
+1291: def _Ves_Smesh_TorStruct_SubFromInd_cython(double[::1] PhiMinMax, double dL, double dRPhi,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_39_Ves_Smesh_TorStruct_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_38_Ves_Smesh_TorStruct_SubFromInd_cython[] = " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_39_Ves_Smesh_TorStruct_SubFromInd_cython = {"_Ves_Smesh_TorStruct_SubFromInd_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_39_Ves_Smesh_TorStruct_SubFromInd_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_38_Ves_Smesh_TorStruct_SubFromInd_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_39_Ves_Smesh_TorStruct_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_PhiMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
double __pyx_v_dRPhi;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_ind = 0;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_Out = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_TorStruct_SubFromInd_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_PhiMinMax,&__pyx_n_s_dL,&__pyx_n_s_dRPhi,&__pyx_n_s_VPoly,&__pyx_n_s_ind,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_Out,&__pyx_n_s_margin,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_38_Ves_Smesh_TorStruct_SubFromInd_cython(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_PhiMinMax, double __pyx_v_dL, double __pyx_v_dRPhi, __Pyx_memviewslice __pyx_v_VPoly, PyArrayObject *__pyx_v_ind, double __pyx_v_DIn, PyObject *__pyx_v_VIn, PyObject *__pyx_v_Out, double __pyx_v_margin) {
double __pyx_v_Dphi;
double __pyx_v_dR0r;
double __pyx_v_dZ0r;
int __pyx_v_NR0;
int __pyx_v_NZ0;
__Pyx_memviewslice __pyx_v_phiMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_R0 = 0;
PyArrayObject *__pyx_v_Z0 = 0;
PyArrayObject *__pyx_v_dSM = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_dRPhir = 0;
PyArrayObject *__pyx_v_dS = 0;
CYTHON_UNUSED PyArrayObject *__pyx_v_bla = 0;
PyArrayObject *__pyx_v_indR0 = 0;
PyArrayObject *__pyx_v_indZ0 = 0;
CYTHON_UNUSED PyArrayObject *__pyx_v_indM = 0;
PyArrayObject *__pyx_v_NL = 0;
PyArrayObject *__pyx_v_pts = 0;
PyArrayObject *__pyx_v_PtsM = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_Pts = 0;
PyObject *__pyx_v_LPts = 0;
PyObject *__pyx_v_LdS = 0;
CYTHON_UNUSED PyObject *__pyx_v_Lind = 0;
CYTHON_UNUSED PyObject *__pyx_v_nRPhi0 = NULL;
PyObject *__pyx_v_ii = NULL;
Py_ssize_t __pyx_v_nii;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsM;
__Pyx_Buffer __pyx_pybuffer_PtsM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_R0;
__Pyx_Buffer __pyx_pybuffer_R0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Z0;
__Pyx_Buffer __pyx_pybuffer_Z0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_bla;
__Pyx_Buffer __pyx_pybuffer_bla;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dRPhir;
__Pyx_Buffer __pyx_pybuffer_dRPhir;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dSM;
__Pyx_Buffer __pyx_pybuffer_dSM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indM;
__Pyx_Buffer __pyx_pybuffer_indM;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indR0;
__Pyx_Buffer __pyx_pybuffer_indR0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ0;
__Pyx_Buffer __pyx_pybuffer_indZ0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_pts;
__Pyx_Buffer __pyx_pybuffer_pts;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__59)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_TorStruct_SubFromInd_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_TorStruct_SubFromInd_cython", __pyx_f[0], 1291, 0, __PYX_ERR(0, 1291, __pyx_L1_error));
__pyx_pybuffer_R0.pybuffer.buf = NULL;
__pyx_pybuffer_R0.refcount = 0;
__pyx_pybuffernd_R0.data = NULL;
__pyx_pybuffernd_R0.rcbuffer = &__pyx_pybuffer_R0;
__pyx_pybuffer_Z0.pybuffer.buf = NULL;
__pyx_pybuffer_Z0.refcount = 0;
__pyx_pybuffernd_Z0.data = NULL;
__pyx_pybuffernd_Z0.rcbuffer = &__pyx_pybuffer_Z0;
__pyx_pybuffer_dSM.pybuffer.buf = NULL;
__pyx_pybuffer_dSM.refcount = 0;
__pyx_pybuffernd_dSM.data = NULL;
__pyx_pybuffernd_dSM.rcbuffer = &__pyx_pybuffer_dSM;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_dRPhir.pybuffer.buf = NULL;
__pyx_pybuffer_dRPhir.refcount = 0;
__pyx_pybuffernd_dRPhir.data = NULL;
__pyx_pybuffernd_dRPhir.rcbuffer = &__pyx_pybuffer_dRPhir;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_bla.pybuffer.buf = NULL;
__pyx_pybuffer_bla.refcount = 0;
__pyx_pybuffernd_bla.data = NULL;
__pyx_pybuffernd_bla.rcbuffer = &__pyx_pybuffer_bla;
__pyx_pybuffer_indR0.pybuffer.buf = NULL;
__pyx_pybuffer_indR0.refcount = 0;
__pyx_pybuffernd_indR0.data = NULL;
__pyx_pybuffernd_indR0.rcbuffer = &__pyx_pybuffer_indR0;
__pyx_pybuffer_indZ0.pybuffer.buf = NULL;
__pyx_pybuffer_indZ0.refcount = 0;
__pyx_pybuffernd_indZ0.data = NULL;
__pyx_pybuffernd_indZ0.rcbuffer = &__pyx_pybuffer_indZ0;
__pyx_pybuffer_indM.pybuffer.buf = NULL;
__pyx_pybuffer_indM.refcount = 0;
__pyx_pybuffernd_indM.data = NULL;
__pyx_pybuffernd_indM.rcbuffer = &__pyx_pybuffer_indM;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
__pyx_pybuffer_pts.pybuffer.buf = NULL;
__pyx_pybuffer_pts.refcount = 0;
__pyx_pybuffernd_pts.data = NULL;
__pyx_pybuffernd_pts.rcbuffer = &__pyx_pybuffer_pts;
__pyx_pybuffer_PtsM.pybuffer.buf = NULL;
__pyx_pybuffer_PtsM.refcount = 0;
__pyx_pybuffernd_PtsM.data = NULL;
__pyx_pybuffernd_PtsM.rcbuffer = &__pyx_pybuffer_PtsM;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1291, __pyx_L1_error)
}
__pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bla.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_TorStruct_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bla.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__pyx_L2:;
__PYX_XDEC_MEMVIEW(&__pyx_v_phiMinMax, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_R0);
__Pyx_XDECREF((PyObject *)__pyx_v_Z0);
__Pyx_XDECREF((PyObject *)__pyx_v_dSM);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_dRPhir);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_bla);
__Pyx_XDECREF((PyObject *)__pyx_v_indR0);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ0);
__Pyx_XDECREF((PyObject *)__pyx_v_indM);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF((PyObject *)__pyx_v_pts);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsM);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF(__pyx_v_LPts);
__Pyx_XDECREF(__pyx_v_LdS);
__Pyx_XDECREF(__pyx_v_Lind);
__Pyx_XDECREF(__pyx_v_nRPhi0);
__Pyx_XDECREF(__pyx_v_ii);
__PYX_XDEC_MEMVIEW(&__pyx_v_PhiMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__133 = PyTuple_Pack(44, __pyx_n_s_PhiMinMax, __pyx_n_s_dL, __pyx_n_s_dRPhi, __pyx_n_s_VPoly, __pyx_n_s_ind, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_Out, __pyx_n_s_margin, __pyx_n_s_Dphi, __pyx_n_s_dR0r, __pyx_n_s_dZ0r, __pyx_n_s_NR0, __pyx_n_s_NZ0, __pyx_n_s_R0n, __pyx_n_s_Z0n, __pyx_n_s_NRPhi0, __pyx_n_s_phiMinMax, __pyx_n_s_R0, __pyx_n_s_Z0, __pyx_n_s_dsF, __pyx_n_s_dSM, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_dRPhir, __pyx_n_s_dS, __pyx_n_s_bla, __pyx_n_s_indR0, __pyx_n_s_indZ0, __pyx_n_s_iind, __pyx_n_s_iindF, __pyx_n_s_indM, __pyx_n_s_NL, __pyx_n_s_ptsrz, __pyx_n_s_pts, __pyx_n_s_PtsM, __pyx_n_s_VPbis, __pyx_n_s_Pts, __pyx_n_s_LPts, __pyx_n_s_LdS, __pyx_n_s_Lind, __pyx_n_s_nRPhi0, __pyx_n_s_ii, __pyx_n_s_nii); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 1291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__133);
__Pyx_GIVEREF(__pyx_tuple__133);
/* … */
__Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L1_error))
__pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(((PyObject*)__pyx_kp_s_X_Y_Z));
PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject*)__pyx_kp_s_X_Y_Z));
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_4);
__pyx_t_2 = 0;
__pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_39_Ves_Smesh_TorStruct_SubFromInd_cython, 0, __pyx_n_s_Ves_Smesh_TorStruct_SubFromInd, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_TorStruct_SubFromInd, __pyx_t_4) < 0) __PYX_ERR(0, 1291, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(9, 0, 44, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_TorStruct_SubFromInd, 1291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 1291, __pyx_L1_error)
1292: double[:,::1] VPoly, cnp.ndarray[long,ndim=1] ind,
+1293: double DIn=0., VIn=None,
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject*)((PyObject*)__pyx_kp_s_X_Y_Z));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_PhiMinMax)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromInd_cython", 0, 5, 9, 1); __PYX_ERR(0, 1291, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dRPhi)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromInd_cython", 0, 5, 9, 2); __PYX_ERR(0, 1291, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromInd_cython", 0, 5, 9, 3); __PYX_ERR(0, 1291, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromInd_cython", 0, 5, 9, 4); __PYX_ERR(0, 1291, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Out);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[8] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_TorStruct_SubFromInd_cython") < 0)) __PYX_ERR(0, 1291, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_PhiMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_PhiMinMax.memview)) __PYX_ERR(0, 1291, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1291, __pyx_L3_error)
__pyx_v_dRPhi = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dRPhi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1291, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 1292, __pyx_L3_error)
__pyx_v_ind = ((PyArrayObject *)values[4]);
if (values[5]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1293, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[6];
__pyx_v_Out = ((PyObject*)values[7]);
if (values[8]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1294, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_TorStruct_SubFromInd_cython", 0, 5, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1291, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_TorStruct_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ind), __pyx_ptype_5numpy_ndarray, 1, "ind", 0))) __PYX_ERR(0, 1292, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Out), (&PyString_Type), 1, "Out", 1))) __PYX_ERR(0, 1294, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_38_Ves_Smesh_TorStruct_SubFromInd_cython(__pyx_self, __pyx_v_PhiMinMax, __pyx_v_dL, __pyx_v_dRPhi, __pyx_v_VPoly, __pyx_v_ind, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_Out, __pyx_v_margin);
/* … */
__Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L1_error))
__pyx_t_2 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+1294: str Out='(X,Y,Z)', double margin=1.e-9):
__Pyx_TraceLine(1294,0,__PYX_ERR(0, 1294, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
1295: " Return the desired surfacic submesh indicated by the limits (DR,DZ,DPhi), for the desired resolution (dR,dZ,dRphi) "
1296: cdef double Dphi, dR0r, dZ0r
1297: cdef int NR0, NZ0, R0n, Z0n, NRPhi0
+1298: cdef double[::1] phiMinMax = np.array([Catan2(Csin(PhiMinMax[0]),Ccos(PhiMinMax[0])), Catan2(Csin(PhiMinMax[1]),Ccos(PhiMinMax[1]))])
__Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_2 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_4)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_5)) )))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = 1; __pyx_t_7 = 1; __pyx_t_8 = PyFloat_FromDouble(atan2(sin((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_6)) )))), cos((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_PhiMinMax.data) + __pyx_t_7)) )))))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_8); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_phiMinMax = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
1299: cdef cnp.ndarray[double, ndim=1] R0, Z0, dsF, dSM, dLr, Rref, dRPhir, dS
1300: cdef cnp.ndarray[long,ndim=1] bla, indR0, indZ0, iind, iindF, indM, NL
1301: cdef cnp.ndarray[double,ndim=2] ptsrz, pts, PtsM, VPbis, Pts
+1302: cdef list LPts=[], LdS=[], Lind=[]
__Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LPts = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_LdS = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_Lind = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
1303:
1304: # Pre-format input
+1305: Dphi = DIn/np.max(VPoly[0,:]) if DIn!=0. else 0. # Required distance effective at max R
__Pyx_TraceLine(1305,0,__PYX_ERR(0, 1305, __pyx_L1_error)) if (((__pyx_v_DIn != 0.) != 0)) { __pyx_t_1 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1305, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = __pyx_t_12; } else { __pyx_t_11 = 0.; } __pyx_v_Dphi = __pyx_t_11;
1306:
1307: # Get the basic meshes for the faces
+1308: R0, dR0r, bla, NR0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[0,:]),np.max(VPoly[0,:])]), dL, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_min); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1308, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_max); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1308, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_13 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_2); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyList_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_14, 1, __pyx_t_13); __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 1308, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_14, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1308, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_9 = PyList_GET_ITEM(sequence, 0); __pyx_t_14 = PyList_GET_ITEM(sequence, 1); __pyx_t_8 = PyList_GET_ITEM(sequence, 2); __pyx_t_13 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_13); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_9,&__pyx_t_14,&__pyx_t_8,&__pyx_t_13}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_9,&__pyx_t_14,&__pyx_t_8,&__pyx_t_13}; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_16(__pyx_t_1); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_L4_unpacking_done:; } if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_R0.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_R0.rcbuffer->pybuffer, (PyObject*)__pyx_v_R0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_R0.diminfo[0].strides = __pyx_pybuffernd_R0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_R0.diminfo[0].shape = __pyx_pybuffernd_R0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1308, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_R0 = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_v_dR0r = __pyx_t_11; __pyx_t_23 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bla.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bla.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bla.rcbuffer->pybuffer, (PyObject*)__pyx_v_bla, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_bla.diminfo[0].strides = __pyx_pybuffernd_bla.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_bla.diminfo[0].shape = __pyx_pybuffernd_bla.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1308, __pyx_L1_error) } __pyx_t_23 = 0; __pyx_v_bla = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0; __pyx_v_NR0 = __pyx_t_17;
+1309: Z0, dZ0r, bla, NZ0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[1,:]),np.max(VPoly[1,:])]), dL, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(1309,0,__PYX_ERR(0, 1309, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_array); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1309, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1309, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_15, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_13 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_t_13 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_margin, __pyx_t_13) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_13))) || (PyList_CheckExact(__pyx_t_13))) { PyObject* sequence = __pyx_t_13; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1309, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_14 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_1 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_14,&__pyx_t_2,&__pyx_t_3,&__pyx_t_1}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_14,&__pyx_t_2,&__pyx_t_3,&__pyx_t_1}; __pyx_t_8 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_8)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_16(__pyx_t_8); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_8), 4) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_L6_unpacking_done:; } if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1309, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Z0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_Z0.diminfo[0].strides = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Z0.diminfo[0].shape = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1309, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_Z0 = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0; __pyx_v_dZ0r = __pyx_t_11; __pyx_t_23 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bla.rcbuffer->pybuffer); __pyx_t_19 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bla.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_19 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bla.rcbuffer->pybuffer, (PyObject*)__pyx_v_bla, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_bla.diminfo[0].strides = __pyx_pybuffernd_bla.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_bla.diminfo[0].shape = __pyx_pybuffernd_bla.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1309, __pyx_L1_error) } __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_bla, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_NZ0 = __pyx_t_17;
1310:
+1311: PtsM, dSM, indM, NL, dLr, Rref, dRPhir, nRPhi0, VPbis = _Ves_Smesh_Tor_SubFromD_cython(dL, dRPhi, VPoly,
__Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_Ves_Smesh_Tor_SubFromD_cython); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dRPhi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; /* … */ __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 9)) { if (size > 9) __Pyx_RaiseTooManyValuesError(9); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1311, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 5); __pyx_t_15 = PyTuple_GET_ITEM(sequence, 6); __pyx_t_24 = PyTuple_GET_ITEM(sequence, 7); __pyx_t_25 = PyTuple_GET_ITEM(sequence, 8); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_14 = PyList_GET_ITEM(sequence, 1); __pyx_t_13 = PyList_GET_ITEM(sequence, 2); __pyx_t_1 = PyList_GET_ITEM(sequence, 3); __pyx_t_8 = PyList_GET_ITEM(sequence, 4); __pyx_t_9 = PyList_GET_ITEM(sequence, 5); __pyx_t_15 = PyList_GET_ITEM(sequence, 6); __pyx_t_24 = PyList_GET_ITEM(sequence, 7); __pyx_t_25 = PyList_GET_ITEM(sequence, 8); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(__pyx_t_25); #else { Py_ssize_t i; PyObject** temps[9] = {&__pyx_t_2,&__pyx_t_14,&__pyx_t_13,&__pyx_t_1,&__pyx_t_8,&__pyx_t_9,&__pyx_t_15,&__pyx_t_24,&__pyx_t_25}; for (i=0; i < 9; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[9] = {&__pyx_t_2,&__pyx_t_14,&__pyx_t_13,&__pyx_t_1,&__pyx_t_8,&__pyx_t_9,&__pyx_t_15,&__pyx_t_24,&__pyx_t_25}; __pyx_t_26 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = Py_TYPE(__pyx_t_26)->tp_iternext; for (index=0; index < 9; index++) { PyObject* item = __pyx_t_16(__pyx_t_26); if (unlikely(!item)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_26), 9) < 0) __PYX_ERR(0, 1311, __pyx_L1_error) __pyx_t_16 = NULL; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_16 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1311, __pyx_L1_error) __pyx_L8_unpacking_done:; } if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_15) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_15, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1311, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsM.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsM, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_PtsM.diminfo[0].strides = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsM.diminfo[0].shape = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsM.diminfo[1].strides = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsM.diminfo[1].shape = __pyx_pybuffernd_PtsM.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_27 = 0; __pyx_v_PtsM = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dSM.rcbuffer->pybuffer, (PyObject*)__pyx_v_dSM, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_dSM.diminfo[0].strides = __pyx_pybuffernd_dSM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dSM.diminfo[0].shape = __pyx_pybuffernd_dSM.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_dSM = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0; __pyx_t_23 = ((PyArrayObject *)__pyx_t_13); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indM.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indM.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indM.rcbuffer->pybuffer, (PyObject*)__pyx_v_indM, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_indM.diminfo[0].strides = __pyx_pybuffernd_indM.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indM.diminfo[0].shape = __pyx_pybuffernd_indM.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_23 = 0; __pyx_v_indM = ((PyArrayObject *)__pyx_t_13); __pyx_t_13 = 0; __pyx_t_23 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_23 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_15); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dRPhir.rcbuffer->pybuffer, (PyObject*)__pyx_v_dRPhir, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_dRPhir.diminfo[0].strides = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dRPhir.diminfo[0].shape = __pyx_pybuffernd_dRPhir.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_dRPhir = ((PyArrayObject *)__pyx_t_15); __pyx_t_15 = 0; __pyx_v_nRPhi0 = __pyx_t_24; __pyx_t_24 = 0; __pyx_t_27 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1311, __pyx_L1_error) } __pyx_t_27 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_25); __pyx_t_25 = 0;
+1312: DR=None, DZ=None, DPhi=None,
__Pyx_TraceLine(1312,0,__PYX_ERR(0, 1312, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DR, Py_None) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DZ, Py_None) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DPhi, Py_None) < 0) __PYX_ERR(0, 1312, __pyx_L1_error)
+1313: DIn=DIn, VIn=VIn, PhiMinMax=phiMinMax,
__Pyx_TraceLine(1313,0,__PYX_ERR(0, 1313, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DIn, __pyx_t_3) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_phiMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_PhiMinMax, __pyx_t_3) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1314: Out=Out, margin=margin)
__Pyx_TraceLine(1314,0,__PYX_ERR(0, 1314, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Out, __pyx_v_Out) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 1312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1315: # First face
+1316: ii = (ind<NR0*NZ0).nonzero()[0]
__Pyx_TraceLine(1316,0,__PYX_ERR(0, 1316, __pyx_L1_error)) __pyx_t_25 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_25, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); } } __pyx_t_3 = (__pyx_t_24) ? __Pyx_PyObject_CallOneArg(__pyx_t_25, __pyx_t_24) : __Pyx_PyObject_CallNoArg(__pyx_t_25); __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_ii = __pyx_t_25; __pyx_t_25 = 0;
+1317: nii = len(ii)
__Pyx_TraceLine(1317,0,__PYX_ERR(0, 1317, __pyx_L1_error)) __pyx_t_28 = PyObject_Length(__pyx_v_ii); if (unlikely(__pyx_t_28 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1317, __pyx_L1_error) __pyx_v_nii = __pyx_t_28;
+1318: if nii>0:
__Pyx_TraceLine(1318,0,__PYX_ERR(0, 1318, __pyx_L1_error)) __pyx_t_29 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_29) { /* … */ }
+1319: indZ0 = ind[ii] // NR0
__Pyx_TraceLine(1319,0,__PYX_ERR(0, 1319, __pyx_L1_error)) __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_24 = PyNumber_FloorDivide(__pyx_t_25, __pyx_t_3); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_24) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_24, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1319, __pyx_L1_error) __pyx_t_23 = ((PyArrayObject *)__pyx_t_24); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1319, __pyx_L1_error) } __pyx_t_23 = 0; __pyx_v_indZ0 = ((PyArrayObject *)__pyx_t_24); __pyx_t_24 = 0;
+1320: indR0 = (ind[ii]-indZ0*NR0)
__Pyx_TraceLine(1320,0,__PYX_ERR(0, 1320, __pyx_L1_error)) __pyx_t_24 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_25 = PyNumber_Multiply(((PyObject *)__pyx_v_indZ0), __pyx_t_3); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_24, __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1320, __pyx_L1_error) __pyx_t_23 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indR0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_indR0.diminfo[0].strides = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indR0.diminfo[0].shape = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error) } __pyx_t_23 = 0; __pyx_v_indR0 = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+1321: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1321,0,__PYX_ERR(0, 1321, __pyx_L1_error)) __pyx_t_3 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_29 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 1321, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_29) { /* … */ goto __pyx_L10; }
+1322: pts = np.array([R0[indR0]*Ccos(phiMinMax[0]+Dphi), R0[indR0]*Csin(phiMinMax[0]+Dphi), Z0[indZ0]])
__Pyx_TraceLine(1322,0,__PYX_ERR(0, 1322, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_25, __pyx_n_s_np); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_array); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_30 = 0; __pyx_t_15 = PyFloat_FromDouble(cos(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_30)) ))) + __pyx_v_Dphi))); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyNumber_Multiply(__pyx_t_25, __pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_31 = 0; __pyx_t_25 = PyFloat_FromDouble(sin(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_31)) ))) + __pyx_v_Dphi))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_8 = PyNumber_Multiply(__pyx_t_15, __pyx_t_25); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_15 = PyList_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_15, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_25); PyList_SET_ITEM(__pyx_t_15, 2, __pyx_t_25); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_25 = 0; __pyx_t_25 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_24))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_24); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_24, function); } } __pyx_t_3 = (__pyx_t_25) ? __Pyx_PyObject_Call2Args(__pyx_t_24, __pyx_t_25, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_24, __pyx_t_15); __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1322, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1322, __pyx_L1_error) } __pyx_t_27 = 0; __pyx_v_pts = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
1323: else:
+1324: pts = np.array([R0[indR0], Z0[indZ0], (phiMinMax[0]+Dphi)*np.ones((nii,))])
__Pyx_TraceLine(1324,0,__PYX_ERR(0, 1324, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_np); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_array); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_32 = 0; __pyx_t_8 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_32)) ))) + __pyx_v_Dphi)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_nii); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_9 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_14); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_24); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_25); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_13); __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_13, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_9); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1324, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1324, __pyx_L1_error) } __pyx_t_27 = 0; __pyx_v_pts = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; } __pyx_L10:;
+1325: pts = pts if nii>1 else pts.reshape((3,1))
__Pyx_TraceLine(1325,0,__PYX_ERR(0, 1325, __pyx_L1_error)) if (((__pyx_v_nii > 1) != 0)) { __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __pyx_t_3 = ((PyObject *)__pyx_v_pts); } else { __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pts), __pyx_n_s_reshape); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_15 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_15) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_15, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1325, __pyx_L1_error) __pyx_t_3 = __pyx_t_15; __pyx_t_15 = 0; } { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_3), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1325, __pyx_L1_error) } __Pyx_DECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1325, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+1326: LPts.append( pts )
__Pyx_TraceLine(1326,0,__PYX_ERR(0, 1326, __pyx_L1_error)) __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LPts, ((PyObject *)__pyx_v_pts)); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1326, __pyx_L1_error)
+1327: LdS.append( dR0r*dZ0r*np.ones((nii,)) )
__Pyx_TraceLine(1327,0,__PYX_ERR(0, 1327, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble((__pyx_v_dR0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ones); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_nii); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_25 = PyTuple_New(1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_9, __pyx_t_25) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_25); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_3, __pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_13); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
1328:
1329: # Main body
+1330: ii = (ind>=NR0*NZ0) & (ind<NR0*NZ0+PtsM.shape[1])
__Pyx_TraceLine(1330,0,__PYX_ERR(0, 1330, __pyx_L1_error)) __pyx_t_13 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_13, Py_GE); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1330, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyInt_From_Py_intptr_t(((__pyx_v_NR0 * __pyx_v_NZ0) + (__pyx_v_PtsM->dimensions[1]))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_13, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1330, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_And(__pyx_t_15, __pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_ii, __pyx_t_13); __pyx_t_13 = 0;
+1331: nii = len(ii)
__Pyx_TraceLine(1331,0,__PYX_ERR(0, 1331, __pyx_L1_error)) __pyx_t_28 = PyObject_Length(__pyx_v_ii); if (unlikely(__pyx_t_28 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1331, __pyx_L1_error) __pyx_v_nii = __pyx_t_28;
+1332: if nii>0:
__Pyx_TraceLine(1332,0,__PYX_ERR(0, 1332, __pyx_L1_error)) __pyx_t_29 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_29) { /* … */ }
+1333: pts = PtsM[:,ind[ii]-NR0*NZ0] if nii>1 else PtsM[:,ind[ii]-NR0*NZ0].reshape((3,1))
__Pyx_TraceLine(1333,0,__PYX_ERR(0, 1333, __pyx_L1_error)) if (((__pyx_v_nii > 1) != 0)) { __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_25 = PyNumber_Subtract(__pyx_t_3, __pyx_t_15); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsM), __pyx_t_15); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1333, __pyx_L1_error) __pyx_t_13 = __pyx_t_25; __pyx_t_25 = 0; } else { /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_15 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyNumber_Subtract(__pyx_t_15, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsM), __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_reshape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_25 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1333, __pyx_L1_error) __pyx_t_13 = __pyx_t_25; __pyx_t_25 = 0; } { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_13), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1333, __pyx_L1_error) } __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_13)); __pyx_t_13 = 0; __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1333, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+1334: LPts.append( PtsM[:,ind[ii]-NR0*NZ0] )
__Pyx_TraceLine(1334,0,__PYX_ERR(0, 1334, __pyx_L1_error)) __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_25 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PyNumber_Subtract(__pyx_t_13, __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyTuple_New(2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_25, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsM), __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_3); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1335: LdS.append( dSM[ind[ii]-NR0*NZ0] )
__Pyx_TraceLine(1335,0,__PYX_ERR(0, 1335, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_25 = __Pyx_PyInt_From_int((__pyx_v_NR0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_13 = PyNumber_Subtract(__pyx_t_3, __pyx_t_25); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dSM), __pyx_t_13); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_25); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
1336:
1337: # Second face
+1338: ii = (ind >= NR0*NZ0+PtsM.shape[1] ).nonzero()[0]
__Pyx_TraceLine(1338,0,__PYX_ERR(0, 1338, __pyx_L1_error)) __pyx_t_13 = __Pyx_PyInt_From_Py_intptr_t(((__pyx_v_NR0 * __pyx_v_NZ0) + (__pyx_v_PtsM->dimensions[1]))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_13, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1338, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_25 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_25, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_ii, __pyx_t_13); __pyx_t_13 = 0;
+1339: nii = len(ii)
__Pyx_TraceLine(1339,0,__PYX_ERR(0, 1339, __pyx_L1_error)) __pyx_t_28 = PyObject_Length(__pyx_v_ii); if (unlikely(__pyx_t_28 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1339, __pyx_L1_error) __pyx_v_nii = __pyx_t_28;
+1340: if nii>0:
__Pyx_TraceLine(1340,0,__PYX_ERR(0, 1340, __pyx_L1_error)) __pyx_t_29 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_29) { /* … */ }
+1341: indZ0 = (ind[ii]-(NR0*NZ0+PtsM.shape[1])) // NR0
__Pyx_TraceLine(1341,0,__PYX_ERR(0, 1341, __pyx_L1_error)) __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_25 = __Pyx_PyInt_From_Py_intptr_t(((__pyx_v_NR0 * __pyx_v_NZ0) + (__pyx_v_PtsM->dimensions[1]))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PyNumber_Subtract(__pyx_t_13, __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_13 = PyNumber_FloorDivide(__pyx_t_3, __pyx_t_25); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1341, __pyx_L1_error) __pyx_t_23 = ((PyArrayObject *)__pyx_t_13); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1341, __pyx_L1_error) } __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_indZ0, ((PyArrayObject *)__pyx_t_13)); __pyx_t_13 = 0;
+1342: indR0 = ind[ii]-(NR0*NZ0+PtsM.shape[1]) - indZ0*NR0
__Pyx_TraceLine(1342,0,__PYX_ERR(0, 1342, __pyx_L1_error)) __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), __pyx_v_ii); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_25 = __Pyx_PyInt_From_Py_intptr_t(((__pyx_v_NR0 * __pyx_v_NZ0) + (__pyx_v_PtsM->dimensions[1]))); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PyNumber_Subtract(__pyx_t_13, __pyx_t_25); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_13 = PyNumber_Multiply(((PyObject *)__pyx_v_indZ0), __pyx_t_25); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyNumber_Subtract(__pyx_t_3, __pyx_t_13); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1342, __pyx_L1_error) __pyx_t_23 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_t_23, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indR0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indR0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_indR0.diminfo[0].strides = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indR0.diminfo[0].shape = __pyx_pybuffernd_indR0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1342, __pyx_L1_error) } __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_indR0, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0;
+1343: if Out.lower()=='(x,y,z)':
__Pyx_TraceLine(1343,0,__PYX_ERR(0, 1343, __pyx_L1_error)) __pyx_t_25 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_Out); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_29 = (__Pyx_PyString_Equals(__pyx_t_25, __pyx_kp_s_x_y_z, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__pyx_t_29) { /* … */ goto __pyx_L13; }
+1344: pts = np.array([R0[indR0]*Ccos(phiMinMax[1]-Dphi), R0[indR0]*Csin(phiMinMax[1]-Dphi), Z0[indZ0]])
__Pyx_TraceLine(1344,0,__PYX_ERR(0, 1344, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_34 = 1; __pyx_t_9 = PyFloat_FromDouble(cos(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_34)) ))) - __pyx_v_Dphi))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = PyNumber_Multiply(__pyx_t_13, __pyx_t_9); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_35 = 1; __pyx_t_13 = PyFloat_FromDouble(sin(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_35)) ))) - __pyx_v_Dphi))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_24 = PyNumber_Multiply(__pyx_t_9, __pyx_t_13); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = PyList_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_24); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_13); __pyx_t_15 = 0; __pyx_t_24 = 0; __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_25 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1344, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1344, __pyx_L1_error) } __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0;
1345: else:
+1346: pts = np.array([R0[indR0], Z0[indZ0], (phiMinMax[1]-Dphi)*np.ones((nii,))])
__Pyx_TraceLine(1346,0,__PYX_ERR(0, 1346, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_R0), ((PyObject *)__pyx_v_indR0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_36 = 1; __pyx_t_24 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_phiMinMax.data) + __pyx_t_36)) ))) - __pyx_v_Dphi)); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ones); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyInt_FromSsize_t(__pyx_v_nii); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_15 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_24, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyList_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_15, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_15, 2, __pyx_t_14); __pyx_t_3 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_25 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_14, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_15); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_25) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_25, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1346, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_25); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1346, __pyx_L1_error) } __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0; } __pyx_L13:;
+1347: pts = pts if nii>1 else pts.reshape((3,1))
__Pyx_TraceLine(1347,0,__PYX_ERR(0, 1347, __pyx_L1_error)) if (((__pyx_v_nii > 1) != 0)) { __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __pyx_t_25 = ((PyObject *)__pyx_v_pts); } else { __pyx_t_15 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pts), __pyx_n_s_reshape); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_9 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_14, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1347, __pyx_L1_error) __pyx_t_25 = __pyx_t_9; __pyx_t_9 = 0; } { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_25), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1347, __pyx_L1_error) } __Pyx_DECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_25)); __pyx_t_25 = 0; /* … */ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+1348: LPts.append( pts )
__Pyx_TraceLine(1348,0,__PYX_ERR(0, 1348, __pyx_L1_error)) __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LPts, ((PyObject *)__pyx_v_pts)); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1348, __pyx_L1_error)
+1349: LdS.append( dR0r*dZ0r*np.ones((nii,)) )
__Pyx_TraceLine(1349,0,__PYX_ERR(0, 1349, __pyx_L1_error)) __pyx_t_25 = PyFloat_FromDouble((__pyx_v_dR0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_ones); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyInt_FromSsize_t(__pyx_v_nii); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_25, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_33 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_14); if (unlikely(__pyx_t_33 == ((int)-1))) __PYX_ERR(0, 1349, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
1350:
1351: # Aggregate
+1352: if len(LPts)==1:
__Pyx_TraceLine(1352,0,__PYX_ERR(0, 1352, __pyx_L1_error)) __pyx_t_28 = PyList_GET_SIZE(__pyx_v_LPts); if (unlikely(__pyx_t_28 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1352, __pyx_L1_error) __pyx_t_29 = ((__pyx_t_28 == 1) != 0); if (__pyx_t_29) { /* … */ goto __pyx_L14; }
+1353: Pts = LPts[0]
__Pyx_TraceLine(1353,0,__PYX_ERR(0, 1353, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_LPts, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LPts, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1353, __pyx_L1_error) __pyx_t_14 = PyList_GET_ITEM(__pyx_v_LPts, 0); __Pyx_INCREF(__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_14), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1353, __pyx_L1_error) } __pyx_v_Pts = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0;
+1354: dS = LdS[0]
__Pyx_TraceLine(1354,0,__PYX_ERR(0, 1354, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_LdS, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LdS, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1354, __pyx_L1_error) __pyx_t_14 = PyList_GET_ITEM(__pyx_v_LdS, 0); __Pyx_INCREF(__pyx_t_14); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_14), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1354, __pyx_L1_error) } __pyx_v_dS = ((PyArrayObject *)__pyx_t_14); __pyx_t_14 = 0;
+1355: elif len(LPts)>1:
__Pyx_TraceLine(1355,0,__PYX_ERR(0, 1355, __pyx_L1_error)) __pyx_t_28 = PyList_GET_SIZE(__pyx_v_LPts); if (unlikely(__pyx_t_28 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1355, __pyx_L1_error) __pyx_t_29 = ((__pyx_t_28 > 1) != 0); if (__pyx_t_29) { /* … */ } __pyx_L14:;
+1356: Pts = np.concatenate(tuple(LPts),axis=1)
__Pyx_TraceLine(1356,0,__PYX_ERR(0, 1356, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyList_AsTuple(__pyx_v_LPts); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_25 = PyTuple_New(1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1356, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_25, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1356, __pyx_L1_error) __pyx_t_27 = ((PyArrayObject *)__pyx_t_13); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_27, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_22); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_22, __pyx_t_21, __pyx_t_20); } __pyx_t_22 = __pyx_t_21 = __pyx_t_20 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1356, __pyx_L1_error) } __pyx_t_27 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_13); __pyx_t_13 = 0;
+1357: dS = np.concatenate(tuple(LdS))
__Pyx_TraceLine(1357,0,__PYX_ERR(0, 1357, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyList_AsTuple(__pyx_v_LdS); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_25))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); } } __pyx_t_13 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_25, __pyx_t_9, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_25, __pyx_t_14); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1357, __pyx_L1_error) __pyx_t_18 = ((PyArrayObject *)__pyx_t_13); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_21); Py_XDECREF(__pyx_t_22); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_21, __pyx_t_22); } __pyx_t_20 = __pyx_t_21 = __pyx_t_22 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1357, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_13); __pyx_t_13 = 0;
1358:
+1359: return Pts, dS, NL, dLr, Rref, dR0r, dZ0r, dRPhir, VPbis
__Pyx_TraceLine(1359,0,__PYX_ERR(0, 1359, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_13 = PyFloat_FromDouble(__pyx_v_dR0r); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_25 = PyFloat_FromDouble(__pyx_v_dZ0r); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_14 = PyTuple_New(9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_14, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_14, 2, ((PyObject *)__pyx_v_NL)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_14, 3, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_14, 4, ((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_14, 6, __pyx_t_25); __Pyx_INCREF(((PyObject *)__pyx_v_dRPhir)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dRPhir)); PyTuple_SET_ITEM(__pyx_t_14, 7, ((PyObject *)__pyx_v_dRPhir)); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_14, 8, ((PyObject *)__pyx_v_VPbis)); __pyx_t_13 = 0; __pyx_t_25 = 0; __pyx_r = __pyx_t_14; __pyx_t_14 = 0; goto __pyx_L0;
1360:
1361:
1362:
1363:
1364:
1365:
1366: ########################################################
1367: ########################################################
1368: # Meshing - Surface - Lin
1369: ########################################################
1370:
1371:
1372: @cython.cdivision(True)
1373: @cython.wraparound(False)
1374: @cython.boundscheck(False)
+1375: cdef _check_DLvsLMinMax(double[::1] LMinMax, DL=None):
static PyObject *__pyx_f_4tofu_4geom_5_GG03__check_DLvsLMinMax(__Pyx_memviewslice __pyx_v_LMinMax, struct __pyx_opt_args_4tofu_4geom_5_GG03__check_DLvsLMinMax *__pyx_optional_args) {
PyObject *__pyx_v_DL = ((PyObject *)Py_None);
long __pyx_v_Inter;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_check_DLvsLMinMax", 0);
__Pyx_TraceCall("_check_DLvsLMinMax", __pyx_f[0], 1375, 0, __PYX_ERR(0, 1375, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_DL = __pyx_optional_args->DL;
}
}
__Pyx_INCREF(__pyx_v_DL);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("tofu.geom._GG03._check_DLvsLMinMax", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_DL);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03__check_DLvsLMinMax {
int __pyx_n;
PyObject *DL;
};
+1376: Inter = 1
__Pyx_TraceLine(1376,0,__PYX_ERR(0, 1376, __pyx_L1_error)) __pyx_v_Inter = 1;
+1377: if DL is not None:
__Pyx_TraceLine(1377,0,__PYX_ERR(0, 1377, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_DL != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+1378: assert len(DL)==2 and DL[0]<DL[1]
__Pyx_TraceLine(1378,0,__PYX_ERR(0, 1378, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_3 = PyObject_Length(__pyx_v_DL); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1378, __pyx_L1_error) __pyx_t_1 = ((__pyx_t_3 == 2) != 0); if (__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_DL, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_DL, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_2 = __pyx_t_1; __pyx_L4_bool_binop_done:; if (unlikely(!__pyx_t_2)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1378, __pyx_L1_error) } } #endif
+1379: assert LMinMax[0]<LMinMax[1]
__Pyx_TraceLine(1379,0,__PYX_ERR(0, 1379, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_7 = 0; __pyx_t_8 = 1; if (unlikely(!(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_7)) ))) < (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_8)) )))) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1379, __pyx_L1_error) } } #endif
+1380: DL = list(DL)
__Pyx_TraceLine(1380,0,__PYX_ERR(0, 1380, __pyx_L1_error)) __pyx_t_6 = PySequence_List(__pyx_v_DL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_DL, __pyx_t_6); __pyx_t_6 = 0;
+1381: if DL[0]>LMinMax[1] or DL[1]<LMinMax[0]:
__Pyx_TraceLine(1381,0,__PYX_ERR(0, 1381, __pyx_L1_error)) __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_DL, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = 1; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_9)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L7_bool_binop_done; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_DL, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = 0; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_10)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_2 = __pyx_t_1; __pyx_L7_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L6; }
+1382: Inter = 0
__Pyx_TraceLine(1382,0,__PYX_ERR(0, 1382, __pyx_L1_error)) __pyx_v_Inter = 0;
1383: else:
+1384: if DL[0]<=LMinMax[0]:
__Pyx_TraceLine(1384,0,__PYX_ERR(0, 1384, __pyx_L1_error)) /*else*/ { __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_DL, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = 0; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_11)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_LE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ }
+1385: DL[0] = None
__Pyx_TraceLine(1385,0,__PYX_ERR(0, 1385, __pyx_L1_error)) if (unlikely(__Pyx_SetItemInt(__pyx_v_DL, 0, Py_None, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 1385, __pyx_L1_error)
+1386: if DL[1]>=LMinMax[1]:
__Pyx_TraceLine(1386,0,__PYX_ERR(0, 1386, __pyx_L1_error)) __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_DL, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = 1; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_LMinMax.data) + __pyx_t_12)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ } } __pyx_L6:;
+1387: DL[1] = None
__Pyx_TraceLine(1387,0,__PYX_ERR(0, 1387, __pyx_L1_error)) if (unlikely(__Pyx_SetItemInt(__pyx_v_DL, 1, Py_None, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 1387, __pyx_L1_error)
+1388: return Inter, DL
__Pyx_TraceLine(1388,0,__PYX_ERR(0, 1388, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_6 = __Pyx_PyInt_From_long(__pyx_v_Inter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __Pyx_INCREF(__pyx_v_DL); __Pyx_GIVEREF(__pyx_v_DL); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_DL); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
1389:
1390:
1391:
1392: @cython.cdivision(True)
1393: @cython.wraparound(False)
1394: @cython.boundscheck(False)
+1395: def _Ves_Smesh_Lin_SubFromD_cython(double[::1] XMinMax, double dL, double dX,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_41_Ves_Smesh_Lin_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_40_Ves_Smesh_Lin_SubFromD_cython[] = " Return the desired surfacic submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dL) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_41_Ves_Smesh_Lin_SubFromD_cython = {"_Ves_Smesh_Lin_SubFromD_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_41_Ves_Smesh_Lin_SubFromD_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_40_Ves_Smesh_Lin_SubFromD_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_41_Ves_Smesh_Lin_SubFromD_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_XMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
double __pyx_v_dX;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_DX = 0;
PyObject *__pyx_v_DY = 0;
PyObject *__pyx_v_DZ = 0;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Lin_SubFromD_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_XMinMax,&__pyx_n_s_dL,&__pyx_n_s_dX,&__pyx_n_s_VPoly,&__pyx_n_s_DX,&__pyx_n_s_DY,&__pyx_n_s_DZ,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_margin,0};
PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_40_Ves_Smesh_Lin_SubFromD_cython(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_XMinMax, double __pyx_v_dL, double __pyx_v_dX, __Pyx_memviewslice __pyx_v_VPoly, PyObject *__pyx_v_DX, PyObject *__pyx_v_DY, PyObject *__pyx_v_DZ, double __pyx_v_DIn, PyObject *__pyx_v_VIn, double __pyx_v_margin) {
PyArrayObject *__pyx_v_X = 0;
PyArrayObject *__pyx_v_Y0 = 0;
PyArrayObject *__pyx_v_Z0 = 0;
double __pyx_v_dXr;
double __pyx_v_dY0r;
double __pyx_v_dZ0r;
int __pyx_v_NY0;
int __pyx_v_NZ0;
int __pyx_v_Y0n;
int __pyx_v_Z0n;
int __pyx_v_NX;
int __pyx_v_Xn;
int __pyx_v_Ln;
int __pyx_v_NR0;
CYTHON_UNUSED int __pyx_v_Inter;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_PtsCross = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_indX = 0;
PyArrayObject *__pyx_v_indY0 = 0;
PyArrayObject *__pyx_v_indZ0 = 0;
PyArrayObject *__pyx_v_indL = 0;
PyArrayObject *__pyx_v_NL = 0;
PyArrayObject *__pyx_v_ind = 0;
PyObject *__pyx_v_InterX = NULL;
PyObject *__pyx_v_InterY = NULL;
PyObject *__pyx_v_InterZ = NULL;
PyObject *__pyx_v_indin = NULL;
PyObject *__pyx_v_pts = NULL;
PyObject *__pyx_v_iind = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsCross;
__Pyx_Buffer __pyx_pybuffer_PtsCross;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_X;
__Pyx_Buffer __pyx_pybuffer_X;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Y0;
__Pyx_Buffer __pyx_pybuffer_Y0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Z0;
__Pyx_Buffer __pyx_pybuffer_Z0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indL;
__Pyx_Buffer __pyx_pybuffer_indL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indX;
__Pyx_Buffer __pyx_pybuffer_indX;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indY0;
__Pyx_Buffer __pyx_pybuffer_indY0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ0;
__Pyx_Buffer __pyx_pybuffer_indZ0;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__60)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Lin_SubFromD_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_Lin_SubFromD_cython", __pyx_f[0], 1395, 0, __PYX_ERR(0, 1395, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_DX);
__Pyx_INCREF(__pyx_v_DY);
__Pyx_INCREF(__pyx_v_DZ);
__pyx_pybuffer_X.pybuffer.buf = NULL;
__pyx_pybuffer_X.refcount = 0;
__pyx_pybuffernd_X.data = NULL;
__pyx_pybuffernd_X.rcbuffer = &__pyx_pybuffer_X;
__pyx_pybuffer_Y0.pybuffer.buf = NULL;
__pyx_pybuffer_Y0.refcount = 0;
__pyx_pybuffernd_Y0.data = NULL;
__pyx_pybuffernd_Y0.rcbuffer = &__pyx_pybuffer_Y0;
__pyx_pybuffer_Z0.pybuffer.buf = NULL;
__pyx_pybuffer_Z0.refcount = 0;
__pyx_pybuffernd_Z0.data = NULL;
__pyx_pybuffernd_Z0.rcbuffer = &__pyx_pybuffer_Z0;
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_PtsCross.pybuffer.buf = NULL;
__pyx_pybuffer_PtsCross.refcount = 0;
__pyx_pybuffernd_PtsCross.data = NULL;
__pyx_pybuffernd_PtsCross.rcbuffer = &__pyx_pybuffer_PtsCross;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_indX.pybuffer.buf = NULL;
__pyx_pybuffer_indX.refcount = 0;
__pyx_pybuffernd_indX.data = NULL;
__pyx_pybuffernd_indX.rcbuffer = &__pyx_pybuffer_indX;
__pyx_pybuffer_indY0.pybuffer.buf = NULL;
__pyx_pybuffer_indY0.refcount = 0;
__pyx_pybuffernd_indY0.data = NULL;
__pyx_pybuffernd_indY0.rcbuffer = &__pyx_pybuffer_indY0;
__pyx_pybuffer_indZ0.pybuffer.buf = NULL;
__pyx_pybuffer_indZ0.refcount = 0;
__pyx_pybuffernd_indZ0.data = NULL;
__pyx_pybuffernd_indZ0.rcbuffer = &__pyx_pybuffer_indZ0;
__pyx_pybuffer_indL.pybuffer.buf = NULL;
__pyx_pybuffer_indL.refcount = 0;
__pyx_pybuffernd_indL.data = NULL;
__pyx_pybuffernd_indL.rcbuffer = &__pyx_pybuffer_indL;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_27);
__PYX_XDEC_MEMVIEW(&__pyx_t_30, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Lin_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF((PyObject *)__pyx_v_X);
__Pyx_XDECREF((PyObject *)__pyx_v_Y0);
__Pyx_XDECREF((PyObject *)__pyx_v_Z0);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsCross);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_indX);
__Pyx_XDECREF((PyObject *)__pyx_v_indY0);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ0);
__Pyx_XDECREF((PyObject *)__pyx_v_indL);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF((PyObject *)__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_InterX);
__Pyx_XDECREF(__pyx_v_InterY);
__Pyx_XDECREF(__pyx_v_InterZ);
__Pyx_XDECREF(__pyx_v_indin);
__Pyx_XDECREF(__pyx_v_pts);
__Pyx_XDECREF(__pyx_v_iind);
__PYX_XDEC_MEMVIEW(&__pyx_v_XMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XDECREF(__pyx_v_DX);
__Pyx_XDECREF(__pyx_v_DY);
__Pyx_XDECREF(__pyx_v_DZ);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__134 = PyTuple_Pack(43, __pyx_n_s_XMinMax, __pyx_n_s_dL, __pyx_n_s_dX, __pyx_n_s_VPoly, __pyx_n_s_DX, __pyx_n_s_DY, __pyx_n_s_DZ, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_margin, __pyx_n_s_X, __pyx_n_s_Y0, __pyx_n_s_Z0, __pyx_n_s_dXr, __pyx_n_s_dY0r, __pyx_n_s_dZ0r, __pyx_n_s_NY0, __pyx_n_s_NZ0, __pyx_n_s_Y0n, __pyx_n_s_Z0n, __pyx_n_s_NX, __pyx_n_s_Xn, __pyx_n_s_Ln, __pyx_n_s_NR0, __pyx_n_s_Inter, __pyx_n_s_Pts, __pyx_n_s_PtsCross, __pyx_n_s_VPbis, __pyx_n_s_dS, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_indX, __pyx_n_s_indY0, __pyx_n_s_indZ0, __pyx_n_s_indL, __pyx_n_s_NL, __pyx_n_s_ind, __pyx_n_s_InterX, __pyx_n_s_InterY, __pyx_n_s_InterZ, __pyx_n_s_indin, __pyx_n_s_pts, __pyx_n_s_iind); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 1395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__134);
__Pyx_GIVEREF(__pyx_tuple__134);
/* … */
__Pyx_TraceLine(1395,0,__PYX_ERR(0, 1395, __pyx_L1_error))
__pyx_t_2 = PyTuple_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_4);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_2, 4, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_1);
__pyx_t_4 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_41_Ves_Smesh_Lin_SubFromD_cython, 0, __pyx_n_s_Ves_Smesh_Lin_SubFromD_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_Lin_SubFromD_cython, __pyx_t_1) < 0) __PYX_ERR(0, 1395, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(10, 0, 43, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_Lin_SubFromD_cython, 1395, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 1395, __pyx_L1_error)
1396: double[:,::1] VPoly,
+1397: DX=None, DY=None, DZ=None,
values[4] = ((PyObject *)((PyObject *)Py_None));
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_None));
+1398: double DIn=0., VIn=None, double margin=1.e-9):
values[8] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_XMinMax)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromD_cython", 0, 4, 10, 1); __PYX_ERR(0, 1395, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dX)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromD_cython", 0, 4, 10, 2); __PYX_ERR(0, 1395, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromD_cython", 0, 4, 10, 3); __PYX_ERR(0, 1395, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DX);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DY);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DZ);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[9] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_Lin_SubFromD_cython") < 0)) __PYX_ERR(0, 1395, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_XMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_XMinMax.memview)) __PYX_ERR(0, 1395, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1395, __pyx_L3_error)
__pyx_v_dX = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dX == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1395, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 1396, __pyx_L3_error)
__pyx_v_DX = values[4];
__pyx_v_DY = values[5];
__pyx_v_DZ = values[6];
if (values[7]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1398, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[8];
if (values[9]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1398, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromD_cython", 0, 4, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1395, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Lin_SubFromD_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_40_Ves_Smesh_Lin_SubFromD_cython(__pyx_self, __pyx_v_XMinMax, __pyx_v_dL, __pyx_v_dX, __pyx_v_VPoly, __pyx_v_DX, __pyx_v_DY, __pyx_v_DZ, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_margin);
/* … */
__Pyx_TraceLine(1398,0,__PYX_ERR(0, 1398, __pyx_L1_error))
__pyx_t_4 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
1399: " Return the desired surfacic submesh indicated by the limits (DX,DY,DZ), for the desired resolution (dX,dL) "
1400: cdef cnp.ndarray[double,ndim=1] X, Y0, Z0
1401: cdef double dXr, dY0r, dZ0r
+1402: cdef int NY0, NZ0, Y0n, Z0n, NX, Xn, Ln, NR0, Inter=1
__Pyx_TraceLine(1402,0,__PYX_ERR(0, 1402, __pyx_L1_error)) __pyx_v_Inter = 1;
1403: cdef cnp.ndarray[double,ndim=2] Pts, PtsCross, VPbis
1404: cdef cnp.ndarray[double,ndim=1] dS, dLr, Rref
1405: cdef cnp.ndarray[long,ndim=1] indX, indY0, indZ0, indL, NL, ind
1406:
1407: # Preformat
1408: # Adjust limits
+1409: InterX, DX = _check_DLvsLMinMax(XMinMax,DX)
__Pyx_TraceLine(1409,0,__PYX_ERR(0, 1409, __pyx_L1_error)) __pyx_t_2.__pyx_n = 1; __pyx_t_2.DL = __pyx_v_DX; __pyx_t_1 = __pyx_f_4tofu_4geom_5_GG03__check_DLvsLMinMax(__pyx_v_XMinMax, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1409, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 1409, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1409, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_v_InterX = __pyx_t_3; __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_DX, __pyx_t_4); __pyx_t_4 = 0;
+1410: InterY, DY = _check_DLvsLMinMax(np.array([np.min(VPoly[0,:]),np.max(VPoly[0,:])]),DY)
__Pyx_TraceLine(1410,0,__PYX_ERR(0, 1410, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_min); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1410, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_max); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1410, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_7); __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2.__pyx_n = 1; __pyx_t_2.DL = __pyx_v_DY; __pyx_t_1 = __pyx_f_4tofu_4geom_5_GG03__check_DLvsLMinMax(__pyx_t_8, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1410, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_9 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_9)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_7), 2) < 0) __PYX_ERR(0, 1410, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1410, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_v_InterY = __pyx_t_3; __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_DY, __pyx_t_9); __pyx_t_9 = 0;
+1411: InterZ, DZ = _check_DLvsLMinMax(np.array([np.min(VPoly[1,:]),np.max(VPoly[1,:])]),DZ)
__Pyx_TraceLine(1411,0,__PYX_ERR(0, 1411, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1411, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_7 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1411, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_7 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_9 = 0; __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2.__pyx_n = 1; __pyx_t_2.DL = __pyx_v_DZ; __pyx_t_1 = __pyx_f_4tofu_4geom_5_GG03__check_DLvsLMinMax(__pyx_t_8, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1411, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_5 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_4), 2) < 0) __PYX_ERR(0, 1411, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1411, __pyx_L1_error) __pyx_L8_unpacking_done:; } __pyx_v_InterZ = __pyx_t_3; __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_DZ, __pyx_t_5); __pyx_t_5 = 0;
1412:
+1413: if InterX==1 and InterY==1 and InterZ==1:
__Pyx_TraceLine(1413,0,__PYX_ERR(0, 1413, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_InterX, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L10_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_InterY, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L10_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_InterZ, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __pyx_t_12; __pyx_L10_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L9; }
1414:
1415: # Get the mesh for the faces
+1416: Y0, dY0r, indY0, NY0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[0,:]),np.max(VPoly[0,:])]), dL, DL=DY, Lim=True, margin=margin)
__Pyx_TraceLine(1416,0,__PYX_ERR(0, 1416, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_min); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1416, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_max); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1416, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_7 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyList_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_DL, __pyx_v_DY) < 0) __PYX_ERR(0, 1416, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1416, __pyx_L1_error) __pyx_t_5 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_margin, __pyx_t_5) < 0) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1416, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_10 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_7 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_10,&__pyx_t_1,&__pyx_t_7}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_10,&__pyx_t_1,&__pyx_t_7}; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_6(__pyx_t_3); if (unlikely(!item)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_3), 4) < 0) __PYX_ERR(0, 1416, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L14_unpacking_done; __pyx_L13_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1416, __pyx_L1_error) __pyx_L14_unpacking_done:; } if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1416, __pyx_L1_error) __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1416, __pyx_L1_error) __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1416, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Y0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Y0.diminfo[0].strides = __pyx_pybuffernd_Y0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Y0.diminfo[0].shape = __pyx_pybuffernd_Y0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1416, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_Y0 = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_v_dY0r = __pyx_t_14; __pyx_t_21 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indY0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_indY0.diminfo[0].strides = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indY0.diminfo[0].shape = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1416, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_indY0 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_v_NY0 = __pyx_t_15;
+1417: Z0, dZ0r, indZ0, NZ0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[1,:]),np.max(VPoly[1,:])]), dL, DL=DZ, Lim=True, margin=margin)
__Pyx_TraceLine(1417,0,__PYX_ERR(0, 1417, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1417, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_max); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_8.data = __pyx_v_VPoly.data; __pyx_t_8.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_8, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1417, __pyx_L1_error) } __pyx_t_8.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_8.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_8.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_8.suboffsets[0] = -1; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_t_8, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_4); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_10); __pyx_t_7 = 0; __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_DL, __pyx_v_DZ) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) __pyx_t_7 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_margin, __pyx_t_7) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1417, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_10 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_10,&__pyx_t_9,&__pyx_t_5,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_10,&__pyx_t_9,&__pyx_t_5,&__pyx_t_3}; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_6(__pyx_t_1); if (unlikely(!item)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L16_unpacking_done; __pyx_L15_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1417, __pyx_L1_error) __pyx_L16_unpacking_done:; } if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1417, __pyx_L1_error) __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1417, __pyx_L1_error) __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Z0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Z0.diminfo[0].strides = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Z0.diminfo[0].shape = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1417, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_Z0 = ((PyArrayObject *)__pyx_t_10); __pyx_t_10 = 0; __pyx_v_dZ0r = __pyx_t_14; __pyx_t_21 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1417, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_indZ0 = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __pyx_v_NZ0 = __pyx_t_15;
+1418: Y0n, Z0n = len(Y0), len(Z0)
__Pyx_TraceLine(1418,0,__PYX_ERR(0, 1418, __pyx_L1_error)) __pyx_t_22 = PyObject_Length(((PyObject *)__pyx_v_Y0)); if (unlikely(__pyx_t_22 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1418, __pyx_L1_error) __pyx_t_23 = PyObject_Length(((PyObject *)__pyx_v_Z0)); if (unlikely(__pyx_t_23 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1418, __pyx_L1_error) __pyx_v_Y0n = __pyx_t_22; __pyx_v_Z0n = __pyx_t_23;
1419:
1420: # Get the actual R and Z resolutions and mesh elements
+1421: X, dXr, indX, NX = _Ves_mesh_dlfromL_cython(XMinMax, dX, DL=DX, Lim=True, margin=margin)
__Pyx_TraceLine(1421,0,__PYX_ERR(0, 1421, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_XMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dX); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_DL, __pyx_v_DX) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1421, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); __pyx_t_7 = PyList_GET_ITEM(sequence, 2); __pyx_t_10 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_10); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_9,&__pyx_t_7,&__pyx_t_10}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_9,&__pyx_t_7,&__pyx_t_10}; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_6(__pyx_t_1); if (unlikely(!item)) goto __pyx_L17_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L18_unpacking_done; __pyx_L17_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1421, __pyx_L1_error) __pyx_L18_unpacking_done:; } if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1421, __pyx_L1_error) __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1421, __pyx_L1_error) __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_10); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_v_X, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_X.diminfo[0].strides = __pyx_pybuffernd_X.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_X.diminfo[0].shape = __pyx_pybuffernd_X.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1421, __pyx_L1_error) } __pyx_t_16 = 0; __pyx_v_X = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __pyx_v_dXr = __pyx_t_14; __pyx_t_21 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer); __pyx_t_17 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_17 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_v_indX, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_indX.diminfo[0].strides = __pyx_pybuffernd_indX.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indX.diminfo[0].shape = __pyx_pybuffernd_indX.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1421, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_indX = ((PyArrayObject *)__pyx_t_7); __pyx_t_7 = 0; __pyx_v_NX = __pyx_t_15;
+1422: Xn = len(X)
__Pyx_TraceLine(1422,0,__PYX_ERR(0, 1422, __pyx_L1_error)) __pyx_t_23 = PyObject_Length(((PyObject *)__pyx_v_X)); if (unlikely(__pyx_t_23 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1422, __pyx_L1_error) __pyx_v_Xn = __pyx_t_23;
+1423: PtsCross, dLr, indL, NL, Rref, VPbis = _Ves_Smesh_Cross(VPoly, dL, D1=None, D2=None, margin=margin, DIn=DIn, VIn=VIn)
__Pyx_TraceLine(1423,0,__PYX_ERR(0, 1423, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ves_Smesh_Cross); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7); __pyx_t_10 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_D1, Py_None) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_D2, Py_None) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) __pyx_t_10 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_margin, __pyx_t_10) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_DIn, __pyx_t_10) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { PyObject* sequence = __pyx_t_10; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1423, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); __pyx_t_1 = PyList_GET_ITEM(sequence, 4); __pyx_t_4 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_7,&__pyx_t_9,&__pyx_t_3,&__pyx_t_5,&__pyx_t_1,&__pyx_t_4}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_7,&__pyx_t_9,&__pyx_t_3,&__pyx_t_5,&__pyx_t_1,&__pyx_t_4}; __pyx_t_13 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_13)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_6(__pyx_t_13); if (unlikely(!item)) goto __pyx_L19_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_13), 6) < 0) __PYX_ERR(0, 1423, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L20_unpacking_done; __pyx_L19_unpacking_failed:; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1423, __pyx_L1_error) __pyx_L20_unpacking_done:; } if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1423, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_PtsCross = ((PyArrayObject *)__pyx_t_7); __pyx_t_7 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_t_21 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_v_indL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_indL.diminfo[0].strides = __pyx_pybuffernd_indL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indL.diminfo[0].shape = __pyx_pybuffernd_indL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_indL = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_21 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_24 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1423, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1424: NR0 = Rref.size
__Pyx_TraceLine(1424,0,__PYX_ERR(0, 1424, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Rref), __pyx_n_s_size); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_10); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1424, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_NR0 = __pyx_t_15;
+1425: indin = np.ones((PtsCross.shape[1],),dtype=bool)
__Pyx_TraceLine(1425,0,__PYX_ERR(0, 1425, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_PtsCross->dimensions[1])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1425, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_indin = __pyx_t_5; __pyx_t_5 = 0;
+1426: if DY is not None:
__Pyx_TraceLine(1426,0,__PYX_ERR(0, 1426, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_DY != Py_None); __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ }
+1427: if DY[0] is not None:
__Pyx_TraceLine(1427,0,__PYX_ERR(0, 1427, __pyx_L1_error)) __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_DY, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = (__pyx_t_5 != Py_None); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = (__pyx_t_12 != 0); if (__pyx_t_11) { /* … */ }
+1428: indin = indin & (PtsCross[0,:]>=DY[0])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(1428,0,__PYX_ERR(0, 1428, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__39); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DY, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = PyObject_RichCompare(__pyx_t_5, __pyx_t_1, Py_GE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_And(__pyx_v_indin, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+1429: if DY[1] is not None:
__Pyx_TraceLine(1429,0,__PYX_ERR(0, 1429, __pyx_L1_error)) __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DY, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = (__pyx_t_1 != Py_None); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ }
+1430: indin = indin & (PtsCross[0,:]<=DY[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(1430,0,__PYX_ERR(0, 1430, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__39); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_DY, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_10, Py_LE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_And(__pyx_v_indin, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_10); __pyx_t_10 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+1431: if DZ is not None:
__Pyx_TraceLine(1431,0,__PYX_ERR(0, 1431, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_DZ != Py_None); __pyx_t_11 = (__pyx_t_12 != 0); if (__pyx_t_11) { /* … */ }
+1432: if DZ[0] is not None:
__Pyx_TraceLine(1432,0,__PYX_ERR(0, 1432, __pyx_L1_error)) __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_DZ, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = (__pyx_t_10 != Py_None); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ }
+1433: indin = indin & (PtsCross[1,:]>=DZ[0])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(1433,0,__PYX_ERR(0, 1433, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_DZ, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyObject_RichCompare(__pyx_t_10, __pyx_t_5, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_And(__pyx_v_indin, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_5); __pyx_t_5 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1434: if DZ[1] is not None:
__Pyx_TraceLine(1434,0,__PYX_ERR(0, 1434, __pyx_L1_error)) __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_DZ, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = (__pyx_t_5 != Py_None); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = (__pyx_t_12 != 0); if (__pyx_t_11) { /* … */ }
+1435: indin = indin & (PtsCross[1,:]<=DZ[1])
__pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); /* … */ __Pyx_TraceLine(1435,0,__PYX_ERR(0, 1435, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_DZ, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = PyObject_RichCompare(__pyx_t_5, __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_And(__pyx_v_indin, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1436: PtsCross, dLr, indL, Rref = PtsCross[:,indin], dLr[indin], indL[indin], Rref[indin]
__Pyx_TraceLine(1436,0,__PYX_ERR(0, 1436, __pyx_L1_error)) __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_indin); __pyx_t_10 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1436, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), __pyx_v_indin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1436, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_indL), __pyx_v_indin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1436, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Rref), __pyx_v_indin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1436, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_PtsCross, ((PyArrayObject *)__pyx_t_10)); __pyx_t_10 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_dLr, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_21 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_v_indL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_indL.diminfo[0].strides = __pyx_pybuffernd_indL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indL.diminfo[0].shape = __pyx_pybuffernd_indL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) } __pyx_t_21 = 0; __Pyx_DECREF_SET(__pyx_v_indL, ((PyArrayObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_Rref, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1436, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1437: Ln = indin.sum()
__Pyx_TraceLine(1437,0,__PYX_ERR(0, 1437, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_Ln = __pyx_t_15;
1438: # Agregating
+1439: Pts = np.array([np.repeat(X,Ln), np.tile(PtsCross[0,:],Xn), np.tile(PtsCross[1,:],Xn)])
__Pyx_TraceLine(1439,0,__PYX_ERR(0, 1439, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_repeat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_9, ((PyObject *)__pyx_v_X), __pyx_t_10}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_9, ((PyObject *)__pyx_v_X), __pyx_t_10}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_X)); __Pyx_GIVEREF(((PyObject *)__pyx_v_X)); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_15, ((PyObject *)__pyx_v_X)); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_15, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_tile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_7 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__39); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_7, __pyx_t_9}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_7, __pyx_t_9}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_26 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_15, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_15, __pyx_t_9); __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_26, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_np); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_tile); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_26 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_tuple__45); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_26, __pyx_t_7}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_26, __pyx_t_7}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_27 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_15, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_15, __pyx_t_7); __pyx_t_26 = 0; __pyx_t_7 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_27, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1439, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1439, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1440: ind = NY0*NZ0 + np.repeat(indX*NR0,Ln) + np.tile(indL,Xn)
__Pyx_TraceLine(1440,0,__PYX_ERR(0, 1440, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_repeat); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_NR0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyNumber_Multiply(((PyObject *)__pyx_v_indX), __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_9}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_9}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_27 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_15, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_15, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_9 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_27, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_tile); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[3] = {__pyx_t_9, ((PyObject *)__pyx_v_indL), __pyx_t_4}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[3] = {__pyx_t_9, ((PyObject *)__pyx_v_indL), __pyx_t_4}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indL)); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_15, ((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_15, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyNumber_Add(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_27) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_27, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1440, __pyx_L1_error) __pyx_t_21 = ((PyArrayObject *)__pyx_t_27); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1440, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_27); __pyx_t_27 = 0;
+1441: dS = np.tile(dLr*dXr,Xn)
__Pyx_TraceLine(1441,0,__PYX_ERR(0, 1441, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(((PyObject *)__pyx_v_dLr), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Xn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_1}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_1}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_9 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_15, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_15, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!(likely(((__pyx_t_27) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_27, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1441, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_27); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1441, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_27); __pyx_t_27 = 0;
+1442: if DX is None or DX[0] is None:
__Pyx_TraceLine(1442,0,__PYX_ERR(0, 1442, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_DX == Py_None); __pyx_t_28 = (__pyx_t_12 != 0); if (!__pyx_t_28) { } else { __pyx_t_11 = __pyx_t_28; goto __pyx_L28_bool_binop_done; } __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_DX, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_28 = (__pyx_t_27 == Py_None); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_12 = (__pyx_t_28 != 0); __pyx_t_11 = __pyx_t_12; __pyx_L28_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1443: pts = np.array([(XMinMax[0]+DIn)*np.ones((Y0n*Z0n,)), np.tile(Y0,Z0n), np.repeat(Z0,Y0n)])
__Pyx_TraceLine(1443,0,__PYX_ERR(0, 1443, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_29 = 0; __pyx_t_10 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_29)) ))) + __pyx_v_DIn)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_Y0n * __pyx_v_Z0n)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_tile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_Y0), __pyx_t_10}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_Y0), __pyx_t_10}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_Y0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Y0)); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_15, ((PyObject *)__pyx_v_Y0)); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_15, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_repeat); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_Y0n); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_Z0), __pyx_t_7}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_Z0), __pyx_t_7}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_26 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Z0)); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_15, ((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_15, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_26, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_27 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_pts = __pyx_t_27; __pyx_t_27 = 0;
+1444: iind = NY0*np.repeat(indZ0,Y0n) + np.tile(indY0,Z0n)
__Pyx_TraceLine(1444,0,__PYX_ERR(0, 1444, __pyx_L1_error)) __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_repeat); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_Y0n); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_indZ0), __pyx_t_10}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, ((PyObject *)__pyx_v_indZ0), __pyx_t_10}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_4 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indZ0)); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_15, ((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_15, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_27, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_np); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_tile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_10 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_10, ((PyObject *)__pyx_v_indY0), __pyx_t_27}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_10, ((PyObject *)__pyx_v_indY0), __pyx_t_27}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif { __pyx_t_1 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indY0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indY0)); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_15, ((PyObject *)__pyx_v_indY0)); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_15, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_iind = __pyx_t_4; __pyx_t_4 = 0;
+1445: indin = Path(VPoly.T).contains_points(pts[1:,:].T, transform=None, radius=0.0)
__Pyx_TraceLine(1445,0,__PYX_ERR(0, 1445, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Path); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_30 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_30, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_30) == 0)) __PYX_ERR(0, 1445, __pyx_L1_error) __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_30, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_30, 1); __pyx_t_30.memview = NULL; __pyx_t_30.data = NULL; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__38); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_T); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 1445, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 1445, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__38 = PyTuple_Pack(2, __pyx_slice__26, __pyx_slice__9); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38);
+1446: if np.any(indin):
__Pyx_TraceLine(1446,0,__PYX_ERR(0, 1446, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_any); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_indin) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_indin); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1446, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_11) { /* … */ }
+1447: pts = pts[:,indin].reshape((3,1)) if indin.sum()==1 else pts[:,indin]
__Pyx_TraceLine(1447,0,__PYX_ERR(0, 1447, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_11) { __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_indin); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; } else { __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_indin); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __pyx_t_4; __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_pts, __pyx_t_1); __pyx_t_1 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1448: Pts = np.concatenate((pts,Pts),axis=1)
__Pyx_TraceLine(1448,0,__PYX_ERR(0, 1448, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_pts); __Pyx_GIVEREF(__pyx_v_pts); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pts); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_Pts)); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1448, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1448, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1448, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0;
+1449: ind = np.concatenate((iind[indin], ind))
__Pyx_TraceLine(1449,0,__PYX_ERR(0, 1449, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_iind, __pyx_v_indin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_ind)); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_9 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1449, __pyx_L1_error) __pyx_t_21 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1449, __pyx_L1_error) } __pyx_t_21 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0;
+1450: dS = np.concatenate((dY0r*dZ0r*np.ones((indin.sum(),)),dS))
__Pyx_TraceLine(1450,0,__PYX_ERR(0, 1450, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble((__pyx_v_dY0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_np); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); } } __pyx_t_27 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_26); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_1 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_26); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_dS)); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1450, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1450, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_dS, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0;
+1451: if DX is None or DX[1] is None:
__Pyx_TraceLine(1451,0,__PYX_ERR(0, 1451, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_DX == Py_None); __pyx_t_28 = (__pyx_t_12 != 0); if (!__pyx_t_28) { } else { __pyx_t_11 = __pyx_t_28; goto __pyx_L32_bool_binop_done; } __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_DX, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_28 = (__pyx_t_9 == Py_None); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_12 = (__pyx_t_28 != 0); __pyx_t_11 = __pyx_t_12; __pyx_L32_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1452: pts = np.array([(XMinMax[1]-DIn)*np.ones((Y0n*Z0n,)), np.tile(Y0,Z0n), np.repeat(Z0,Y0n)])
__Pyx_TraceLine(1452,0,__PYX_ERR(0, 1452, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_31 = 1; __pyx_t_4 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_31)) ))) - __pyx_v_DIn)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_Y0n * __pyx_v_Z0n)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); } } __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_26, __pyx_t_5, __pyx_t_27) : __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_27); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyNumber_Multiply(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_tile); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[3] = {__pyx_t_5, ((PyObject *)__pyx_v_Y0), __pyx_t_4}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[3] = {__pyx_t_5, ((PyObject *)__pyx_v_Y0), __pyx_t_4}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_Y0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Y0)); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_15, ((PyObject *)__pyx_v_Y0)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_15, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_7, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_repeat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_Y0n); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, ((PyObject *)__pyx_v_Z0), __pyx_t_7}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, ((PyObject *)__pyx_v_Z0), __pyx_t_7}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Z0)); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_15, ((PyObject *)__pyx_v_Z0)); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_15, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyList_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_26); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_27); __pyx_t_26 = 0; __pyx_t_10 = 0; __pyx_t_27 = 0; __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_9 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_27, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, __pyx_t_9); __pyx_t_9 = 0;
+1453: iind = NY0*NZ0 + NX*NR0 + NY0*np.repeat(indZ0,Y0n) + np.tile(indY0,Z0n)
__Pyx_TraceLine(1453,0,__PYX_ERR(0, 1453, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyInt_From_int(((__pyx_v_NY0 * __pyx_v_NZ0) + (__pyx_v_NX * __pyx_v_NR0))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_np); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_repeat); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_Y0n); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_26, ((PyObject *)__pyx_v_indZ0), __pyx_t_27}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_26, ((PyObject *)__pyx_v_indZ0), __pyx_t_27}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_26) { __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_26); __pyx_t_26 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indZ0)); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_15, ((PyObject *)__pyx_v_indZ0)); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_15, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_tile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_Z0n); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = NULL; __pyx_t_15 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_15 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_indY0), __pyx_t_9}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_indY0), __pyx_t_9}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_27 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(((PyObject *)__pyx_v_indY0)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indY0)); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_15, ((PyObject *)__pyx_v_indY0)); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_15, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_27, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_iind, __pyx_t_1); __pyx_t_1 = 0;
+1454: indin = Path(VPoly.T).contains_points(pts[1:,:].T, transform=None, radius=0.0)
__Pyx_TraceLine(1454,0,__PYX_ERR(0, 1454, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Path); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_30 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_30, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_30) == 0)) __PYX_ERR(0, 1454, __pyx_L1_error) __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_t_30, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_30, 1); __pyx_t_30.memview = NULL; __pyx_t_30.data = NULL; __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_1 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_27, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_4); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contains_points); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_slice__26 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__26)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__26); __Pyx_GIVEREF(__pyx_slice__26); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_tuple__38); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 1454, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 1454, __pyx_L1_error) __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_indin, __pyx_t_27); __pyx_t_27 = 0; __pyx_tuple__38 = PyTuple_Pack(2, __pyx_slice__26, __pyx_slice__9); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1454, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38);
+1455: if np.any(indin):
__Pyx_TraceLine(1455,0,__PYX_ERR(0, 1455, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_any); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_27 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_indin) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_indin); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1455, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_11) { /* … */ }
+1456: pts = pts[:,indin].reshape((3,1)) if indin.sum()==1 else pts[:,indin]
__Pyx_TraceLine(1456,0,__PYX_ERR(0, 1456, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_11) { __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_indin); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_reshape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_10, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_27 = __pyx_t_4; __pyx_t_4 = 0; } else { __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indin); __Pyx_GIVEREF(__pyx_v_indin); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_indin); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_27 = __pyx_t_1; __pyx_t_1 = 0; } __Pyx_DECREF_SET(__pyx_v_pts, __pyx_t_27); __pyx_t_27 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1457: Pts = np.concatenate((Pts,pts),axis=1)
__Pyx_TraceLine(1457,0,__PYX_ERR(0, 1457, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_np); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_27, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(__pyx_v_pts); __Pyx_GIVEREF(__pyx_v_pts); PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_v_pts); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (PyDict_SetItem(__pyx_t_27, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1457, __pyx_L1_error) __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_27); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1457, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1457, __pyx_L1_error) } __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_Pts, ((PyArrayObject *)__pyx_t_10)); __pyx_t_10 = 0;
+1458: ind = np.concatenate((ind,iind[indin]))
__Pyx_TraceLine(1458,0,__PYX_ERR(0, 1458, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_np); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_v_iind, __pyx_v_indin); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_10 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1458, __pyx_L1_error) __pyx_t_21 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1458, __pyx_L1_error) } __pyx_t_21 = 0; __Pyx_DECREF_SET(__pyx_v_ind, ((PyArrayObject *)__pyx_t_10)); __pyx_t_10 = 0;
+1459: dS = np.concatenate((dS,dY0r*dZ0r*np.ones((indin.sum(),))))
__Pyx_TraceLine(1459,0,__PYX_ERR(0, 1459, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble((__pyx_v_dY0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_indin, __pyx_n_s_sum); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); } } __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_26); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_27 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_26); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_27); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_27, 0, ((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_10 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_27) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_27); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1459, __pyx_L1_error) __pyx_t_25 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1459, __pyx_L1_error) } __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_dS, ((PyArrayObject *)__pyx_t_10)); __pyx_t_10 = 0;
1460:
1461: else:
+1462: Pts, dS, ind, NL, dLr, Rref = np.ones((3,0)), np.ones((0,)), np.ones((0,),dtype=int), np.ones((0,),dtype=int), np.ones((0,)), np.ones((0,))
__Pyx_TraceLine(1462,0,__PYX_ERR(0, 1462, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); } } __pyx_t_10 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_27, __pyx_t_1, __pyx_tuple__54) : __Pyx_PyObject_CallOneArg(__pyx_t_27, __pyx_tuple__54); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__54 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_0); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_27 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_27) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_27, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1462, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__58, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__58 = PyTuple_Pack(1, __pyx_tuple__55); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 1462, __pyx_L1_error) __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__58, __pyx_t_3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_26) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_26, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__58 = PyTuple_Pack(1, __pyx_tuple__55); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_1, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_9 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_1, __pyx_tuple__55) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_tuple__55); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1462, __pyx_L1_error) __pyx_t_24 = ((PyArrayObject *)__pyx_t_10); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_10); __pyx_t_10 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_27); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_27); __pyx_t_27 = 0; __pyx_t_21 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_ind = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_t_21 = ((PyArrayObject *)__pyx_t_26); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_21, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_21 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_26); __pyx_t_26 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_25 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_25, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_18); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_20); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_18, __pyx_t_19, __pyx_t_20); } __pyx_t_18 = __pyx_t_19 = __pyx_t_20 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) } __pyx_t_25 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; __pyx_tuple__55 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55);
+1463: dXr, dY0r, dZ0r, VPbis = 0., 0., 0., np.ones((3,0))
__Pyx_TraceLine(1463,0,__PYX_ERR(0, 1463, __pyx_L1_error)) __pyx_t_14 = 0.; __pyx_t_32 = 0.; __pyx_t_33 = 0.; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_26, __pyx_t_3, __pyx_tuple__54) : __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_tuple__54); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1463, __pyx_L1_error) __pyx_v_dXr = __pyx_t_14; __pyx_v_dY0r = __pyx_t_32; __pyx_v_dZ0r = __pyx_t_33; __pyx_t_24 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_24, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_15 < 0)) { PyErr_Fetch(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_20); Py_XDECREF(__pyx_t_19); Py_XDECREF(__pyx_t_18); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __pyx_t_20 = __pyx_t_19 = __pyx_t_18 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1463, __pyx_L1_error) } __pyx_t_24 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_9); __pyx_t_9 = 0; } __pyx_L9:; /* … */ __pyx_tuple__54 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_0); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54);
1464:
+1465: return Pts, dS, ind, NL, dLr, Rref, dXr, dY0r, dZ0r, VPbis
__Pyx_TraceLine(1465,0,__PYX_ERR(0, 1465, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_26 = PyFloat_FromDouble(__pyx_v_dY0r); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 1465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_dZ0r); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_ind)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ind)); PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)__pyx_v_ind)); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_4, 3, ((PyObject *)__pyx_v_NL)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_4, 4, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_4, 5, ((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_4, 7, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 8, __pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_4, 9, ((PyObject *)__pyx_v_VPbis)); __pyx_t_9 = 0; __pyx_t_26 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
1466:
1467:
1468:
1469: @cython.cdivision(True)
1470: @cython.wraparound(False)
1471: @cython.boundscheck(False)
+1472: def _Ves_Smesh_Lin_SubFromInd_cython(double[::1] XMinMax, double dL, double dX,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_43_Ves_Smesh_Lin_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_42_Ves_Smesh_Lin_SubFromInd_cython[] = " Return the desired surfacic submesh indicated by ind, for the desired resolution (dX,dL) ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_43_Ves_Smesh_Lin_SubFromInd_cython = {"_Ves_Smesh_Lin_SubFromInd_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_43_Ves_Smesh_Lin_SubFromInd_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_42_Ves_Smesh_Lin_SubFromInd_cython};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_43_Ves_Smesh_Lin_SubFromInd_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_XMinMax = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_v_dL;
double __pyx_v_dX;
__Pyx_memviewslice __pyx_v_VPoly = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_v_ind = 0;
double __pyx_v_DIn;
PyObject *__pyx_v_VIn = 0;
double __pyx_v_margin;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Lin_SubFromInd_cython (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_XMinMax,&__pyx_n_s_dL,&__pyx_n_s_dX,&__pyx_n_s_VPoly,&__pyx_n_s_ind,&__pyx_n_s_DIn,&__pyx_n_s_VIn,&__pyx_n_s_margin,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_42_Ves_Smesh_Lin_SubFromInd_cython(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_XMinMax, double __pyx_v_dL, double __pyx_v_dX, __Pyx_memviewslice __pyx_v_VPoly, PyArrayObject *__pyx_v_ind, double __pyx_v_DIn, PyObject *__pyx_v_VIn, double __pyx_v_margin) {
double __pyx_v_dXr;
double __pyx_v_dY0r;
double __pyx_v_dZ0r;
int __pyx_v_NX;
int __pyx_v_NY0;
int __pyx_v_NZ0;
int __pyx_v_Ln;
int __pyx_v_nii;
PyObject *__pyx_v_LPts = 0;
PyObject *__pyx_v_LdS = 0;
PyArrayObject *__pyx_v_Pts = 0;
PyArrayObject *__pyx_v_PtsCross = 0;
PyArrayObject *__pyx_v_VPbis = 0;
PyArrayObject *__pyx_v_X = 0;
PyArrayObject *__pyx_v_Y0 = 0;
PyArrayObject *__pyx_v_Z0 = 0;
PyArrayObject *__pyx_v_dS = 0;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_Rref = 0;
PyArrayObject *__pyx_v_indX = 0;
PyArrayObject *__pyx_v_indY0 = 0;
PyArrayObject *__pyx_v_indZ0 = 0;
PyArrayObject *__pyx_v_indL = 0;
PyArrayObject *__pyx_v_NL = 0;
PyArrayObject *__pyx_v_ii = 0;
CYTHON_UNUSED PyObject *__pyx_v_bla = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_NL;
__Pyx_Buffer __pyx_pybuffer_NL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Pts;
__Pyx_Buffer __pyx_pybuffer_Pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PtsCross;
__Pyx_Buffer __pyx_pybuffer_PtsCross;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Rref;
__Pyx_Buffer __pyx_pybuffer_Rref;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPbis;
__Pyx_Buffer __pyx_pybuffer_VPbis;
__Pyx_LocalBuf_ND __pyx_pybuffernd_X;
__Pyx_Buffer __pyx_pybuffer_X;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Y0;
__Pyx_Buffer __pyx_pybuffer_Y0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Z0;
__Pyx_Buffer __pyx_pybuffer_Z0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dS;
__Pyx_Buffer __pyx_pybuffer_dS;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ii;
__Pyx_Buffer __pyx_pybuffer_ii;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ind;
__Pyx_Buffer __pyx_pybuffer_ind;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indL;
__Pyx_Buffer __pyx_pybuffer_indL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indX;
__Pyx_Buffer __pyx_pybuffer_indX;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indY0;
__Pyx_Buffer __pyx_pybuffer_indY0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indZ0;
__Pyx_Buffer __pyx_pybuffer_indZ0;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__61)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_Ves_Smesh_Lin_SubFromInd_cython", 0);
__Pyx_TraceCall("_Ves_Smesh_Lin_SubFromInd_cython", __pyx_f[0], 1472, 0, __PYX_ERR(0, 1472, __pyx_L1_error));
__pyx_pybuffer_Pts.pybuffer.buf = NULL;
__pyx_pybuffer_Pts.refcount = 0;
__pyx_pybuffernd_Pts.data = NULL;
__pyx_pybuffernd_Pts.rcbuffer = &__pyx_pybuffer_Pts;
__pyx_pybuffer_PtsCross.pybuffer.buf = NULL;
__pyx_pybuffer_PtsCross.refcount = 0;
__pyx_pybuffernd_PtsCross.data = NULL;
__pyx_pybuffernd_PtsCross.rcbuffer = &__pyx_pybuffer_PtsCross;
__pyx_pybuffer_VPbis.pybuffer.buf = NULL;
__pyx_pybuffer_VPbis.refcount = 0;
__pyx_pybuffernd_VPbis.data = NULL;
__pyx_pybuffernd_VPbis.rcbuffer = &__pyx_pybuffer_VPbis;
__pyx_pybuffer_X.pybuffer.buf = NULL;
__pyx_pybuffer_X.refcount = 0;
__pyx_pybuffernd_X.data = NULL;
__pyx_pybuffernd_X.rcbuffer = &__pyx_pybuffer_X;
__pyx_pybuffer_Y0.pybuffer.buf = NULL;
__pyx_pybuffer_Y0.refcount = 0;
__pyx_pybuffernd_Y0.data = NULL;
__pyx_pybuffernd_Y0.rcbuffer = &__pyx_pybuffer_Y0;
__pyx_pybuffer_Z0.pybuffer.buf = NULL;
__pyx_pybuffer_Z0.refcount = 0;
__pyx_pybuffernd_Z0.data = NULL;
__pyx_pybuffernd_Z0.rcbuffer = &__pyx_pybuffer_Z0;
__pyx_pybuffer_dS.pybuffer.buf = NULL;
__pyx_pybuffer_dS.refcount = 0;
__pyx_pybuffernd_dS.data = NULL;
__pyx_pybuffernd_dS.rcbuffer = &__pyx_pybuffer_dS;
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_Rref.pybuffer.buf = NULL;
__pyx_pybuffer_Rref.refcount = 0;
__pyx_pybuffernd_Rref.data = NULL;
__pyx_pybuffernd_Rref.rcbuffer = &__pyx_pybuffer_Rref;
__pyx_pybuffer_indX.pybuffer.buf = NULL;
__pyx_pybuffer_indX.refcount = 0;
__pyx_pybuffernd_indX.data = NULL;
__pyx_pybuffernd_indX.rcbuffer = &__pyx_pybuffer_indX;
__pyx_pybuffer_indY0.pybuffer.buf = NULL;
__pyx_pybuffer_indY0.refcount = 0;
__pyx_pybuffernd_indY0.data = NULL;
__pyx_pybuffernd_indY0.rcbuffer = &__pyx_pybuffer_indY0;
__pyx_pybuffer_indZ0.pybuffer.buf = NULL;
__pyx_pybuffer_indZ0.refcount = 0;
__pyx_pybuffernd_indZ0.data = NULL;
__pyx_pybuffernd_indZ0.rcbuffer = &__pyx_pybuffer_indZ0;
__pyx_pybuffer_indL.pybuffer.buf = NULL;
__pyx_pybuffer_indL.refcount = 0;
__pyx_pybuffernd_indL.data = NULL;
__pyx_pybuffernd_indL.rcbuffer = &__pyx_pybuffer_indL;
__pyx_pybuffer_NL.pybuffer.buf = NULL;
__pyx_pybuffer_NL.refcount = 0;
__pyx_pybuffernd_NL.data = NULL;
__pyx_pybuffernd_NL.rcbuffer = &__pyx_pybuffer_NL;
__pyx_pybuffer_ii.pybuffer.buf = NULL;
__pyx_pybuffer_ii.refcount = 0;
__pyx_pybuffernd_ii.data = NULL;
__pyx_pybuffernd_ii.rcbuffer = &__pyx_pybuffer_ii;
__pyx_pybuffer_ind.pybuffer.buf = NULL;
__pyx_pybuffer_ind.refcount = 0;
__pyx_pybuffernd_ind.data = NULL;
__pyx_pybuffernd_ind.rcbuffer = &__pyx_pybuffer_ind;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ind.rcbuffer->pybuffer, (PyObject*)__pyx_v_ind, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1472, __pyx_L1_error)
}
__pyx_pybuffernd_ind.diminfo[0].strides = __pyx_pybuffernd_ind.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ind.diminfo[0].shape = __pyx_pybuffernd_ind.rcbuffer->pybuffer.shape[0];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Lin_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ii.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ind.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_LPts);
__Pyx_XDECREF(__pyx_v_LdS);
__Pyx_XDECREF((PyObject *)__pyx_v_Pts);
__Pyx_XDECREF((PyObject *)__pyx_v_PtsCross);
__Pyx_XDECREF((PyObject *)__pyx_v_VPbis);
__Pyx_XDECREF((PyObject *)__pyx_v_X);
__Pyx_XDECREF((PyObject *)__pyx_v_Y0);
__Pyx_XDECREF((PyObject *)__pyx_v_Z0);
__Pyx_XDECREF((PyObject *)__pyx_v_dS);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_Rref);
__Pyx_XDECREF((PyObject *)__pyx_v_indX);
__Pyx_XDECREF((PyObject *)__pyx_v_indY0);
__Pyx_XDECREF((PyObject *)__pyx_v_indZ0);
__Pyx_XDECREF((PyObject *)__pyx_v_indL);
__Pyx_XDECREF((PyObject *)__pyx_v_NL);
__Pyx_XDECREF((PyObject *)__pyx_v_ii);
__Pyx_XDECREF(__pyx_v_bla);
__PYX_XDEC_MEMVIEW(&__pyx_v_XMinMax, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPoly, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__135 = PyTuple_Pack(35, __pyx_n_s_XMinMax, __pyx_n_s_dL, __pyx_n_s_dX, __pyx_n_s_VPoly, __pyx_n_s_ind, __pyx_n_s_DIn, __pyx_n_s_VIn, __pyx_n_s_margin, __pyx_n_s_dXr, __pyx_n_s_dY0r, __pyx_n_s_dZ0r, __pyx_n_s_NX, __pyx_n_s_NY0, __pyx_n_s_NZ0, __pyx_n_s_Ln, __pyx_n_s_NR0, __pyx_n_s_nii, __pyx_n_s_LPts, __pyx_n_s_LdS, __pyx_n_s_Pts, __pyx_n_s_PtsCross, __pyx_n_s_VPbis, __pyx_n_s_X, __pyx_n_s_Y0, __pyx_n_s_Z0, __pyx_n_s_dS, __pyx_n_s_dLr, __pyx_n_s_Rref, __pyx_n_s_indX, __pyx_n_s_indY0, __pyx_n_s_indZ0, __pyx_n_s_indL, __pyx_n_s_NL, __pyx_n_s_ii, __pyx_n_s_bla); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 1472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__135);
__Pyx_GIVEREF(__pyx_tuple__135);
/* … */
__Pyx_TraceLine(1472,0,__PYX_ERR(0, 1472, __pyx_L1_error))
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)Py_None));
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_43_Ves_Smesh_Lin_SubFromInd_cython, 0, __pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1472, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(8, 0, 35, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Ves_Smesh_Lin_SubFromInd_cython, 1472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 1472, __pyx_L1_error)
1473: double[:,::1] VPoly, cnp.ndarray[long,ndim=1] ind,
+1474: double DIn=0., VIn=None, double margin=1.e-9):
values[6] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_XMinMax)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromInd_cython", 0, 5, 8, 1); __PYX_ERR(0, 1472, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dX)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromInd_cython", 0, 5, 8, 2); __PYX_ERR(0, 1472, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromInd_cython", 0, 5, 8, 3); __PYX_ERR(0, 1472, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromInd_cython", 0, 5, 8, 4); __PYX_ERR(0, 1472, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DIn);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_margin);
if (value) { values[7] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_Ves_Smesh_Lin_SubFromInd_cython") < 0)) __PYX_ERR(0, 1472, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_XMinMax = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_XMinMax.memview)) __PYX_ERR(0, 1472, __pyx_L3_error)
__pyx_v_dL = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dL == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1472, __pyx_L3_error)
__pyx_v_dX = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dX == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1472, __pyx_L3_error)
__pyx_v_VPoly = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_VPoly.memview)) __PYX_ERR(0, 1473, __pyx_L3_error)
__pyx_v_ind = ((PyArrayObject *)values[4]);
if (values[5]) {
__pyx_v_DIn = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_DIn == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1474, __pyx_L3_error)
} else {
__pyx_v_DIn = ((double)((double)0.));
}
__pyx_v_VIn = values[6];
if (values[7]) {
__pyx_v_margin = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_margin == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1474, __pyx_L3_error)
} else {
__pyx_v_margin = ((double)((double)1.e-9));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_Ves_Smesh_Lin_SubFromInd_cython", 0, 5, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1472, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03._Ves_Smesh_Lin_SubFromInd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ind), __pyx_ptype_5numpy_ndarray, 1, "ind", 0))) __PYX_ERR(0, 1473, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_42_Ves_Smesh_Lin_SubFromInd_cython(__pyx_self, __pyx_v_XMinMax, __pyx_v_dL, __pyx_v_dX, __pyx_v_VPoly, __pyx_v_ind, __pyx_v_DIn, __pyx_v_VIn, __pyx_v_margin);
/* … */
__Pyx_TraceLine(1474,0,__PYX_ERR(0, 1474, __pyx_L1_error))
__pyx_t_1 = PyFloat_FromDouble(((double)0.)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyFloat_FromDouble(((double)1.e-9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
1475: " Return the desired surfacic submesh indicated by ind, for the desired resolution (dX,dL) "
1476: cdef double dXr, dY0r, dZ0r
1477: cdef int NX, NY0, NZ0, Ln, NR0, nii
1478: cdef list LPts, LdS
1479: cdef cnp.ndarray[double,ndim=2] Pts, PtsCross, VPbis
1480: cdef cnp.ndarray[double,ndim=1] X, Y0, Z0, dS, dLr, Rref
1481: cdef cnp.ndarray[long,ndim=1] indX, indY0, indZ0, indL, NL, ii
1482:
1483: # Get the mesh for the faces
+1484: Y0, dY0r, bla, NY0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[0,:]),np.max(VPoly[0,:])]), dL, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(1484,0,__PYX_ERR(0, 1484, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_min); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7.data = __pyx_v_VPoly.data; __pyx_t_7.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_7, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1484, __pyx_L1_error) } __pyx_t_7.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_7.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_7.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_7.suboffsets[0] = -1; __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __pyx_t_7.memview = NULL; __pyx_t_7.data = NULL; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7.data = __pyx_v_VPoly.data; __pyx_t_7.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_7, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1484, __pyx_L1_error) } __pyx_t_7.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_7.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_7.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_7.suboffsets[0] = -1; __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __pyx_t_7.memview = NULL; __pyx_t_7.data = NULL; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 1484, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1484, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_margin, __pyx_t_2) < 0) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1484, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); __pyx_t_6 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_1,&__pyx_t_6}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_1,&__pyx_t_6}; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_3)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_3); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_3), 4) < 0) __PYX_ERR(0, 1484, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1484, __pyx_L1_error) __pyx_L4_unpacking_done:; } if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1484, __pyx_L1_error) __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_13 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Y0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Y0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_Y0.diminfo[0].strides = __pyx_pybuffernd_Y0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Y0.diminfo[0].shape = __pyx_pybuffernd_Y0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1484, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_Y0 = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __pyx_v_dY0r = __pyx_t_11; __pyx_v_bla = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_NY0 = __pyx_t_12;
+1485: Z0, dZ0r, bla, NZ0 = _Ves_mesh_dlfromL_cython(np.array([np.min(VPoly[1,:]),np.max(VPoly[1,:])]), dL, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(1485,0,__PYX_ERR(0, 1485, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7.data = __pyx_v_VPoly.data; __pyx_t_7.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_7, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1485, __pyx_L1_error) } __pyx_t_7.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_7.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_7.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_7.suboffsets[0] = -1; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __pyx_t_7.memview = NULL; __pyx_t_7.data = NULL; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7.data = __pyx_v_VPoly.data; __pyx_t_7.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_7, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1485, __pyx_L1_error) } __pyx_t_7.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_7.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_7.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_7.suboffsets[0] = -1; __pyx_t_4 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __pyx_t_7.memview = NULL; __pyx_t_7.data = NULL; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); __pyx_t_6 = 0; __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 1485, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1485, __pyx_L1_error) __pyx_t_6 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_margin, __pyx_t_6) < 0) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { PyObject* sequence = __pyx_t_6; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1485, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_8 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_2 = PyList_GET_ITEM(sequence, 2); __pyx_t_3 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_8,&__pyx_t_5,&__pyx_t_2,&__pyx_t_3}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_8,&__pyx_t_5,&__pyx_t_2,&__pyx_t_3}; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_1); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1485, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1485, __pyx_L1_error) __pyx_L6_unpacking_done:; } if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1485, __pyx_L1_error) __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_13 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Z0.rcbuffer->pybuffer, (PyObject*)__pyx_v_Z0, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_Z0.diminfo[0].strides = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Z0.diminfo[0].shape = __pyx_pybuffernd_Z0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1485, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_Z0 = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0; __pyx_v_dZ0r = __pyx_t_11; __Pyx_DECREF_SET(__pyx_v_bla, __pyx_t_2); __pyx_t_2 = 0; __pyx_v_NZ0 = __pyx_t_12;
1486:
1487: # Get the actual R and Z resolutions and mesh elements
+1488: X, dXr, bla, NX = _Ves_mesh_dlfromL_cython(XMinMax, dX, DL=None, Lim=True, margin=margin)
__Pyx_TraceLine(1488,0,__PYX_ERR(0, 1488, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Ves_mesh_dlfromL_cython); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_XMinMax, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dX); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_DL, Py_None) < 0) __PYX_ERR(0, 1488, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Lim, Py_True) < 0) __PYX_ERR(0, 1488, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_margin, __pyx_t_3) < 0) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1488, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_6,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_6,&__pyx_t_8}; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_1); if (unlikely(!item)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_1), 4) < 0) __PYX_ERR(0, 1488, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L8_unpacking_done; __pyx_L7_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1488, __pyx_L1_error) __pyx_L8_unpacking_done:; } if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1488, __pyx_L1_error) __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_13 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_X.rcbuffer->pybuffer); __pyx_t_14 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_14 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_X.rcbuffer->pybuffer, (PyObject*)__pyx_v_X, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_X.diminfo[0].strides = __pyx_pybuffernd_X.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_X.diminfo[0].shape = __pyx_pybuffernd_X.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1488, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_X = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_dXr = __pyx_t_11; __Pyx_DECREF_SET(__pyx_v_bla, __pyx_t_6); __pyx_t_6 = 0; __pyx_v_NX = __pyx_t_12;
+1489: PtsCross, dLr, bla, NL, Rref, VPbis = _Ves_Smesh_Cross(VPoly, dL, D1=None, D2=None, margin=margin, DIn=DIn, VIn=VIn)
__Pyx_TraceLine(1489,0,__PYX_ERR(0, 1489, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ves_Smesh_Cross); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_VPoly, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_8 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_D1, Py_None) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_D2, Py_None) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) __pyx_t_8 = PyFloat_FromDouble(__pyx_v_margin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_margin, __pyx_t_8) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyFloat_FromDouble(__pyx_v_DIn); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_DIn, __pyx_t_8) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_VIn, __pyx_v_VIn) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1489, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_2 = PyList_GET_ITEM(sequence, 3); __pyx_t_1 = PyList_GET_ITEM(sequence, 4); __pyx_t_4 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_6,&__pyx_t_5,&__pyx_t_3,&__pyx_t_2,&__pyx_t_1,&__pyx_t_4}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_6,&__pyx_t_5,&__pyx_t_3,&__pyx_t_2,&__pyx_t_1,&__pyx_t_4}; __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 6) < 0) __PYX_ERR(0, 1489, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L10_unpacking_done; __pyx_L9_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1489, __pyx_L1_error) __pyx_L10_unpacking_done:; } if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1489, __pyx_L1_error) if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1489, __pyx_L1_error) if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1489, __pyx_L1_error) if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1489, __pyx_L1_error) if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1489, __pyx_L1_error) __pyx_t_18 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PtsCross.rcbuffer->pybuffer, (PyObject*)__pyx_v_PtsCross, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_PtsCross.diminfo[0].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PtsCross.diminfo[0].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PtsCross.diminfo[1].strides = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PtsCross.diminfo[1].shape = __pyx_pybuffernd_PtsCross.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_PtsCross = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; __pyx_t_13 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_v_dLr, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_bla, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_19 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_NL.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_NL.rcbuffer->pybuffer, (PyObject*)__pyx_v_NL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_NL.diminfo[0].strides = __pyx_pybuffernd_NL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_NL.diminfo[0].shape = __pyx_pybuffernd_NL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_NL = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_13 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Rref.rcbuffer->pybuffer, (PyObject*)__pyx_v_Rref, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_Rref.diminfo[0].strides = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Rref.diminfo[0].shape = __pyx_pybuffernd_Rref.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_Rref = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __pyx_t_18 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPbis.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPbis, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_VPbis.diminfo[0].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPbis.diminfo[0].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPbis.diminfo[1].strides = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPbis.diminfo[1].shape = __pyx_pybuffernd_VPbis.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_VPbis = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1490: Ln = PtsCross.shape[1]
__Pyx_TraceLine(1490,0,__PYX_ERR(0, 1490, __pyx_L1_error)) __pyx_v_Ln = (__pyx_v_PtsCross->dimensions[1]);
1491:
+1492: LPts, LdS = [], []
__Pyx_TraceLine(1492,0,__PYX_ERR(0, 1492, __pyx_L1_error)) __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_LPts = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0; __pyx_v_LdS = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
1493: # First face
+1494: ii = (ind<NY0*NZ0).nonzero()[0]
__Pyx_TraceLine(1494,0,__PYX_ERR(0, 1494, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1494, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ii.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_v_ii, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_ii.diminfo[0].strides = __pyx_pybuffernd_ii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ii.diminfo[0].shape = __pyx_pybuffernd_ii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1494, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_ii = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0;
+1495: nii = len(ii)
__Pyx_TraceLine(1495,0,__PYX_ERR(0, 1495, __pyx_L1_error)) __pyx_t_20 = PyObject_Length(((PyObject *)__pyx_v_ii)); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1495, __pyx_L1_error) __pyx_v_nii = __pyx_t_20;
+1496: if nii>0:
__Pyx_TraceLine(1496,0,__PYX_ERR(0, 1496, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_21) { /* … */ }
+1497: indZ0 = ind[ii] // NY0
__Pyx_TraceLine(1497,0,__PYX_ERR(0, 1497, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyNumber_FloorDivide(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1497, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1497, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_indZ0 = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+1498: indY0 = (ind[ii]-indZ0*NY0)
__Pyx_TraceLine(1498,0,__PYX_ERR(0, 1498, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyNumber_Multiply(((PyObject *)__pyx_v_indZ0), __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1498, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indY0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_indY0.diminfo[0].strides = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indY0.diminfo[0].shape = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1498, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_indY0 = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1499: if nii==1:
__Pyx_TraceLine(1499,0,__PYX_ERR(0, 1499, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii == 1) != 0); if (__pyx_t_21) { /* … */ goto __pyx_L12; }
+1500: LPts.append( np.array([[XMinMax[0]+DIn], [Y0[indY0]], [Z0[indZ0]]]) )
__Pyx_TraceLine(1500,0,__PYX_ERR(0, 1500, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_22 = 0; __pyx_t_8 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_22)) ))) + __pyx_v_DIn)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Y0), ((PyObject *)__pyx_v_indY0)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_4); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1501: else:
+1502: LPts.append( np.array([(XMinMax[0]+DIn)*np.ones((nii,)), Y0[indY0], Z0[indZ0]]) )
__Pyx_TraceLine(1502,0,__PYX_ERR(0, 1502, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_24 = 0; __pyx_t_1 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_24)) ))) + __pyx_v_DIn)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Y0), ((PyObject *)__pyx_v_indY0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_4); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1502, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_L12:;
+1503: LdS.append( dY0r*dZ0r*np.ones((nii,)) )
__Pyx_TraceLine(1503,0,__PYX_ERR(0, 1503, __pyx_L1_error)) __pyx_t_4 = PyFloat_FromDouble((__pyx_v_dY0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_nii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_8 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_1); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1503, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1504:
1505: # Cylinder
+1506: ii = ((ind>=NY0*NZ0) & (ind<NY0*NZ0+NX*Ln)).nonzero()[0]
__Pyx_TraceLine(1506,0,__PYX_ERR(0, 1506, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_8, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_int(((__pyx_v_NY0 * __pyx_v_NZ0) + (__pyx_v_NX * __pyx_v_Ln))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_And(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1506, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ii.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_v_ii, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_ii.diminfo[0].strides = __pyx_pybuffernd_ii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ii.diminfo[0].shape = __pyx_pybuffernd_ii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1506, __pyx_L1_error) } __pyx_t_19 = 0; __Pyx_DECREF_SET(__pyx_v_ii, ((PyArrayObject *)__pyx_t_5)); __pyx_t_5 = 0;
+1507: nii = len(ii)
__Pyx_TraceLine(1507,0,__PYX_ERR(0, 1507, __pyx_L1_error)) __pyx_t_20 = PyObject_Length(((PyObject *)__pyx_v_ii)); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1507, __pyx_L1_error) __pyx_v_nii = __pyx_t_20;
+1508: if nii>0:
__Pyx_TraceLine(1508,0,__PYX_ERR(0, 1508, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_21) { /* … */ }
+1509: indX = (ind[ii]-NY0*NZ0) // Ln
__Pyx_TraceLine(1509,0,__PYX_ERR(0, 1509, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_Subtract(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyNumber_FloorDivide(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1509, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indX.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indX.rcbuffer->pybuffer, (PyObject*)__pyx_v_indX, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_indX.diminfo[0].strides = __pyx_pybuffernd_indX.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indX.diminfo[0].shape = __pyx_pybuffernd_indX.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1509, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_indX = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1510: indL = (ind[ii]-NY0*NZ0 - Ln*indX)
__Pyx_TraceLine(1510,0,__PYX_ERR(0, 1510, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_Subtract(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Ln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyNumber_Multiply(__pyx_t_1, ((PyObject *)__pyx_v_indX)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1510, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indL.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indL.rcbuffer->pybuffer, (PyObject*)__pyx_v_indL, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_indL.diminfo[0].strides = __pyx_pybuffernd_indL.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indL.diminfo[0].shape = __pyx_pybuffernd_indL.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1510, __pyx_L1_error) } __pyx_t_19 = 0; __pyx_v_indL = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+1511: if nii==1:
__Pyx_TraceLine(1511,0,__PYX_ERR(0, 1511, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii == 1) != 0); if (__pyx_t_21) { /* … */ goto __pyx_L14; }
+1512: LPts.append( np.array([[X[indX]], [PtsCross[0,indL]], [PtsCross[1,indL]]]) )
__Pyx_TraceLine(1512,0,__PYX_ERR(0, 1512, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_X), ((PyObject *)__pyx_v_indX)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); __Pyx_INCREF(((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indL)); PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_indL)); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_1); __Pyx_INCREF(((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indL)); PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_indL)); __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_1); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1513: LdS.append( np.array([dXr*dLr[indL]]) )
__Pyx_TraceLine(1513,0,__PYX_ERR(0, 1513, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), ((PyObject *)__pyx_v_indL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyNumber_Multiply(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_1); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1513, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1514: else:
+1515: LPts.append( np.array([X[indX], PtsCross[0,indL], PtsCross[1,indL]]) )
__Pyx_TraceLine(1515,0,__PYX_ERR(0, 1515, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_X), ((PyObject *)__pyx_v_indX)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); __Pyx_INCREF(((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indL)); PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_indL)); __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); __Pyx_INCREF(((PyObject *)__pyx_v_indL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_indL)); PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_indL)); __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_PtsCross), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_1); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1516: LdS.append( dXr*dLr[indL] )
__Pyx_TraceLine(1516,0,__PYX_ERR(0, 1516, __pyx_L1_error)) __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dLr), ((PyObject *)__pyx_v_indL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyNumber_Multiply(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_5); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L14:;
1517:
1518: # End face
+1519: ii = (ind >= NY0*NZ0+NX*Ln).nonzero()[0]
__Pyx_TraceLine(1519,0,__PYX_ERR(0, 1519, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyInt_From_int(((__pyx_v_NY0 * __pyx_v_NZ0) + (__pyx_v_NX * __pyx_v_Ln))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_ind), __pyx_t_6, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1519, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1519, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ii.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ii.rcbuffer->pybuffer, (PyObject*)__pyx_v_ii, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_ii.diminfo[0].strides = __pyx_pybuffernd_ii.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ii.diminfo[0].shape = __pyx_pybuffernd_ii.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1519, __pyx_L1_error) } __pyx_t_19 = 0; __Pyx_DECREF_SET(__pyx_v_ii, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+1520: nii = len(ii)
__Pyx_TraceLine(1520,0,__PYX_ERR(0, 1520, __pyx_L1_error)) __pyx_t_20 = PyObject_Length(((PyObject *)__pyx_v_ii)); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1520, __pyx_L1_error) __pyx_v_nii = __pyx_t_20;
+1521: if nii>0:
__Pyx_TraceLine(1521,0,__PYX_ERR(0, 1521, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii > 0) != 0); if (__pyx_t_21) { /* … */ }
+1522: indZ0 = (ind[ii]-NY0*NZ0-NX*Ln) // NY0
__Pyx_TraceLine(1522,0,__PYX_ERR(0, 1522, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Subtract(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_Ln)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_FloorDivide(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1522, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indZ0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indZ0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_indZ0.diminfo[0].strides = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indZ0.diminfo[0].shape = __pyx_pybuffernd_indZ0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1522, __pyx_L1_error) } __pyx_t_19 = 0; __Pyx_XDECREF_SET(__pyx_v_indZ0, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0;
+1523: indY0 = ind[ii]-NY0*NZ0-NX*Ln - NY0*indZ0
__Pyx_TraceLine(1523,0,__PYX_ERR(0, 1523, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_ind), ((PyObject *)__pyx_v_ii)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NY0 * __pyx_v_NZ0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_NX * __pyx_v_Ln)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Subtract(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_NY0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Multiply(__pyx_t_5, ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1523, __pyx_L1_error) __pyx_t_19 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indY0.rcbuffer->pybuffer, (PyObject*)__pyx_v_indY0, &__Pyx_TypeInfo_long, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_indY0.diminfo[0].strides = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indY0.diminfo[0].shape = __pyx_pybuffernd_indY0.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1523, __pyx_L1_error) } __pyx_t_19 = 0; __Pyx_XDECREF_SET(__pyx_v_indY0, ((PyArrayObject *)__pyx_t_5)); __pyx_t_5 = 0;
+1524: if nii==1:
__Pyx_TraceLine(1524,0,__PYX_ERR(0, 1524, __pyx_L1_error)) __pyx_t_21 = ((__pyx_v_nii == 1) != 0); if (__pyx_t_21) { /* … */ goto __pyx_L16; }
+1525: LPts.append( np.array([[XMinMax[1]-DIn], [Y0[indY0]], [Z0[indZ0]]]) )
__Pyx_TraceLine(1525,0,__PYX_ERR(0, 1525, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_25 = 1; __pyx_t_6 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_25)) ))) - __pyx_v_DIn)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Y0), ((PyObject *)__pyx_v_indY0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_5); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1526: else:
+1527: LPts.append( np.array([(XMinMax[1]-DIn)*np.ones((nii,)), Y0[indY0], Z0[indZ0]]) )
__Pyx_TraceLine(1527,0,__PYX_ERR(0, 1527, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_26 = 1; __pyx_t_1 = PyFloat_FromDouble(((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_XMinMax.data) + __pyx_t_26)) ))) - __pyx_v_DIn)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_nii); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Y0), ((PyObject *)__pyx_v_indY0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Z0), ((PyObject *)__pyx_v_indZ0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_1); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LPts, __pyx_t_5); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L16:;
+1528: LdS.append( dY0r*dZ0r*np.ones((nii,)) )
__Pyx_TraceLine(1528,0,__PYX_ERR(0, 1528, __pyx_L1_error)) __pyx_t_5 = PyFloat_FromDouble((__pyx_v_dY0r * __pyx_v_dZ0r)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_LdS, __pyx_t_1); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1529:
1530: # Format output
+1531: if len(LPts)==1:
__Pyx_TraceLine(1531,0,__PYX_ERR(0, 1531, __pyx_L1_error)) __pyx_t_20 = PyList_GET_SIZE(__pyx_v_LPts); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1531, __pyx_L1_error) __pyx_t_21 = ((__pyx_t_20 == 1) != 0); if (__pyx_t_21) { /* … */ goto __pyx_L17; }
+1532: Pts, dS = LPts[0], LdS[0]
__Pyx_TraceLine(1532,0,__PYX_ERR(0, 1532, __pyx_L1_error)) if (!(likely(((PyList_GET_ITEM(__pyx_v_LPts, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LPts, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1532, __pyx_L1_error) __pyx_t_1 = PyList_GET_ITEM(__pyx_v_LPts, 0); __Pyx_INCREF(__pyx_t_1); if (!(likely(((PyList_GET_ITEM(__pyx_v_LdS, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_LdS, 0), __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1532, __pyx_L1_error) __pyx_t_6 = PyList_GET_ITEM(__pyx_v_LdS, 0); __Pyx_INCREF(__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_1), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1532, __pyx_L1_error) } __pyx_v_Pts = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_6), &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1532, __pyx_L1_error) } __pyx_v_dS = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
1533: else:
+1534: Pts = np.concatenate(tuple(LPts),axis=1)
__Pyx_TraceLine(1534,0,__PYX_ERR(0, 1534, __pyx_L1_error)) /*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_AsTuple(__pyx_v_LPts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1534, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1534, __pyx_L1_error) __pyx_t_18 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_Pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_Pts.diminfo[0].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Pts.diminfo[0].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Pts.diminfo[1].strides = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Pts.diminfo[1].shape = __pyx_pybuffernd_Pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1534, __pyx_L1_error) } __pyx_t_18 = 0; __pyx_v_Pts = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1535: dS = np.concatenate(tuple(LdS))
__Pyx_TraceLine(1535,0,__PYX_ERR(0, 1535, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_AsTuple(__pyx_v_LdS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1535, __pyx_L1_error) __pyx_t_13 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dS.rcbuffer->pybuffer); __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_12 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dS.rcbuffer->pybuffer, (PyObject*)__pyx_v_dS, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_dS.diminfo[0].strides = __pyx_pybuffernd_dS.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dS.diminfo[0].shape = __pyx_pybuffernd_dS.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1535, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_v_dS = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L17:;
1536:
+1537: return Pts, dS, NL, dLr, Rref, dXr, dY0r, dZ0r, VPbis
__Pyx_TraceLine(1537,0,__PYX_ERR(0, 1537, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dXr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dY0r); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dZ0r); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyTuple_New(9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_Pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Pts)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_Pts)); __Pyx_INCREF(((PyObject *)__pyx_v_dS)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dS)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_dS)); __Pyx_INCREF(((PyObject *)__pyx_v_NL)); __Pyx_GIVEREF(((PyObject *)__pyx_v_NL)); PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_NL)); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_dLr)); __Pyx_INCREF(((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rref)); PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)__pyx_v_Rref)); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_VPbis)); __Pyx_GIVEREF(((PyObject *)__pyx_v_VPbis)); PyTuple_SET_ITEM(__pyx_t_1, 8, ((PyObject *)__pyx_v_VPbis)); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1538:
1539:
1540:
1541:
1542: """
1543: ########################################################
1544: ########################################################
1545: ########################################################
1546: # LOS-specific
1547: ########################################################
1548: ########################################################
1549: ########################################################
1550: """
1551:
1552:
1553:
1554:
1555: ########################################################
1556: ########################################################
1557: # PIn POut
1558: ########################################################
1559:
1560:
+1561: def LOS_Calc_PInOut_VesStruct(Ds, dus,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_45LOS_Calc_PInOut_VesStruct(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_44LOS_Calc_PInOut_VesStruct[] = " Compute the entry and exit point of all provided LOS for the provided vessel polygon (toroidal or linear), also return the normal vector at impact point and the index of the impact segment\n\n For each LOS,\n\n Parameters\n ----------\n\n\n\n Return\n ------\n PIn : np.ndarray\n Point of entry (if any) of the LOS into the vessel, returned in (X,Y,Z) cartesian coordinates as:\n 1 LOS => (3,) array or None if there is no entry point\n NL LOS => (3,NL), with NaNs when there is no entry point\n POut : np.ndarray\n Point of exit of the LOS from the vessel, returned in (X,Y,Z) cartesian coordinates as:\n 1 LOS => (3,) array or None if there is no entry point\n NL LOS => (3,NL), with NaNs when there is no entry point\n VOut : np.ndarray\n\n IOut : np.ndarray\n\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_45LOS_Calc_PInOut_VesStruct = {"LOS_Calc_PInOut_VesStruct", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_45LOS_Calc_PInOut_VesStruct, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_44LOS_Calc_PInOut_VesStruct};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_45LOS_Calc_PInOut_VesStruct(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_Ds = 0;
PyObject *__pyx_v_dus = 0;
PyArrayObject *__pyx_v_VPoly = 0;
PyArrayObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_Lim = 0;
PyObject *__pyx_v_nLim = 0;
PyObject *__pyx_v_LSPoly = 0;
PyObject *__pyx_v_LSLim = 0;
PyObject *__pyx_v_lSnLim = 0;
PyObject *__pyx_v_LSVIn = 0;
PyObject *__pyx_v_RMin = 0;
PyObject *__pyx_v_Forbid = 0;
PyObject *__pyx_v_EpsUz = 0;
PyObject *__pyx_v_EpsVz = 0;
PyObject *__pyx_v_EpsA = 0;
PyObject *__pyx_v_EpsB = 0;
PyObject *__pyx_v_EpsPlane = 0;
PyObject *__pyx_v_VType = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_Calc_PInOut_VesStruct (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Ds,&__pyx_n_s_dus,&__pyx_n_s_VPoly,&__pyx_n_s_VIn,&__pyx_n_s_Lim,&__pyx_n_s_nLim,&__pyx_n_s_LSPoly,&__pyx_n_s_LSLim,&__pyx_n_s_lSnLim,&__pyx_n_s_LSVIn,&__pyx_n_s_RMin,&__pyx_n_s_Forbid,&__pyx_n_s_EpsUz,&__pyx_n_s_EpsVz,&__pyx_n_s_EpsA,&__pyx_n_s_EpsB,&__pyx_n_s_EpsPlane,&__pyx_n_s_VType,&__pyx_n_s_Test,0};
PyObject* values[19] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_44LOS_Calc_PInOut_VesStruct(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_Ds, PyObject *__pyx_v_dus, PyArrayObject *__pyx_v_VPoly, PyArrayObject *__pyx_v_VIn, PyObject *__pyx_v_Lim, PyObject *__pyx_v_nLim, PyObject *__pyx_v_LSPoly, PyObject *__pyx_v_LSLim, PyObject *__pyx_v_lSnLim, PyObject *__pyx_v_LSVIn, PyObject *__pyx_v_RMin, PyObject *__pyx_v_Forbid, PyObject *__pyx_v_EpsUz, PyObject *__pyx_v_EpsVz, PyObject *__pyx_v_EpsA, PyObject *__pyx_v_EpsB, PyObject *__pyx_v_EpsPlane, PyObject *__pyx_v_VType, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_C1 = NULL;
PyObject *__pyx_v_C2 = NULL;
int __pyx_v_ii;
int __pyx_v_jj;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_v_NL = NULL;
PyObject *__pyx_v_IOut = NULL;
PyObject *__pyx_v_PIn = NULL;
PyObject *__pyx_v_POut = NULL;
PyObject *__pyx_v_VperpIn = NULL;
PyObject *__pyx_v_VperpOut = NULL;
PyObject *__pyx_v_IIn = NULL;
PyObject *__pyx_v_kPOut = NULL;
PyObject *__pyx_v_kPIn = NULL;
CYTHON_UNUSED PyObject *__pyx_v_Ind = NULL;
PyObject *__pyx_v_lslim = NULL;
PyObject *__pyx_v_pIn = NULL;
CYTHON_UNUSED PyObject *__pyx_v_pOut = NULL;
PyObject *__pyx_v_vperpIn = NULL;
CYTHON_UNUSED PyObject *__pyx_v_vperpOut = NULL;
PyObject *__pyx_v_iIn = NULL;
CYTHON_UNUSED PyObject *__pyx_v_iOut = NULL;
PyObject *__pyx_v_kpin = NULL;
PyObject *__pyx_v_indNoNan = NULL;
PyObject *__pyx_v_indout = NULL;
PyObject *__pyx_v_pp = NULL;
PyObject *__pyx_v_ee = NULL;
PyObject *__pyx_v_ll = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VIn;
__Pyx_Buffer __pyx_pybuffer_VIn;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPoly;
__Pyx_Buffer __pyx_pybuffer_VPoly;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__62)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_Calc_PInOut_VesStruct", 0);
__Pyx_TraceCall("LOS_Calc_PInOut_VesStruct", __pyx_f[0], 1561, 0, __PYX_ERR(0, 1561, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_Ds);
__Pyx_INCREF(__pyx_v_dus);
__Pyx_INCREF(__pyx_v_Lim);
__Pyx_INCREF(__pyx_v_RMin);
__pyx_pybuffer_VPoly.pybuffer.buf = NULL;
__pyx_pybuffer_VPoly.refcount = 0;
__pyx_pybuffernd_VPoly.data = NULL;
__pyx_pybuffernd_VPoly.rcbuffer = &__pyx_pybuffer_VPoly;
__pyx_pybuffer_VIn.pybuffer.buf = NULL;
__pyx_pybuffer_VIn.refcount = 0;
__pyx_pybuffernd_VIn.data = NULL;
__pyx_pybuffernd_VIn.rcbuffer = &__pyx_pybuffer_VIn;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPoly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1561, __pyx_L1_error)
}
__pyx_pybuffernd_VPoly.diminfo[0].strides = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPoly.diminfo[0].shape = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPoly.diminfo[1].strides = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPoly.diminfo[1].shape = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.shape[1];
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer, (PyObject*)__pyx_v_VIn, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1561, __pyx_L1_error)
}
__pyx_pybuffernd_VIn.diminfo[0].strides = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VIn.diminfo[0].shape = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VIn.diminfo[1].strides = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VIn.diminfo[1].shape = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__PYX_XDEC_MEMVIEW(&__pyx_t_16, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_17, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_18, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_19, 1);
__Pyx_XDECREF(__pyx_t_31);
__Pyx_XDECREF(__pyx_t_32);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.LOS_Calc_PInOut_VesStruct", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_C1);
__Pyx_XDECREF(__pyx_v_C2);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XDECREF(__pyx_v_NL);
__Pyx_XDECREF(__pyx_v_IOut);
__Pyx_XDECREF(__pyx_v_PIn);
__Pyx_XDECREF(__pyx_v_POut);
__Pyx_XDECREF(__pyx_v_VperpIn);
__Pyx_XDECREF(__pyx_v_VperpOut);
__Pyx_XDECREF(__pyx_v_IIn);
__Pyx_XDECREF(__pyx_v_kPOut);
__Pyx_XDECREF(__pyx_v_kPIn);
__Pyx_XDECREF(__pyx_v_Ind);
__Pyx_XDECREF(__pyx_v_lslim);
__Pyx_XDECREF(__pyx_v_pIn);
__Pyx_XDECREF(__pyx_v_pOut);
__Pyx_XDECREF(__pyx_v_vperpIn);
__Pyx_XDECREF(__pyx_v_vperpOut);
__Pyx_XDECREF(__pyx_v_iIn);
__Pyx_XDECREF(__pyx_v_iOut);
__Pyx_XDECREF(__pyx_v_kpin);
__Pyx_XDECREF(__pyx_v_indNoNan);
__Pyx_XDECREF(__pyx_v_indout);
__Pyx_XDECREF(__pyx_v_pp);
__Pyx_XDECREF(__pyx_v_ee);
__Pyx_XDECREF(__pyx_v_ll);
__Pyx_XDECREF(__pyx_v_Ds);
__Pyx_XDECREF(__pyx_v_dus);
__Pyx_XDECREF(__pyx_v_Lim);
__Pyx_XDECREF(__pyx_v_RMin);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__136 = PyTuple_Pack(47, __pyx_n_s_Ds, __pyx_n_s_dus, __pyx_n_s_VPoly, __pyx_n_s_VIn, __pyx_n_s_Lim, __pyx_n_s_nLim, __pyx_n_s_LSPoly, __pyx_n_s_LSLim, __pyx_n_s_lSnLim, __pyx_n_s_LSVIn, __pyx_n_s_RMin, __pyx_n_s_Forbid, __pyx_n_s_EpsUz, __pyx_n_s_EpsVz, __pyx_n_s_EpsA, __pyx_n_s_EpsB, __pyx_n_s_EpsPlane, __pyx_n_s_VType, __pyx_n_s_Test, __pyx_n_s_C1, __pyx_n_s_C2, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_v, __pyx_n_s_NL, __pyx_n_s_IOut, __pyx_n_s_PIn, __pyx_n_s_POut, __pyx_n_s_VperpIn, __pyx_n_s_VperpOut, __pyx_n_s_IIn, __pyx_n_s_kPOut, __pyx_n_s_kPIn, __pyx_n_s_Ind, __pyx_n_s_lslim, __pyx_n_s_pIn, __pyx_n_s_pOut, __pyx_n_s_vperpIn, __pyx_n_s_vperpOut, __pyx_n_s_iIn, __pyx_n_s_iOut, __pyx_n_s_kpin, __pyx_n_s_indNoNan, __pyx_n_s_indout, __pyx_n_s_pp, __pyx_n_s_ee, __pyx_n_s_ll); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 1561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__136);
__Pyx_GIVEREF(__pyx_tuple__136);
__pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(19, 0, 47, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_LOS_Calc_PInOut_VesStruct, 1561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 1561, __pyx_L1_error)
/* … */
__Pyx_TraceLine(1561,0,__PYX_ERR(0, 1561, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_45LOS_Calc_PInOut_VesStruct, 0, __pyx_n_s_LOS_Calc_PInOut_VesStruct, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__137);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOS_Calc_PInOut_VesStruct, __pyx_t_2) < 0) __PYX_ERR(0, 1561, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__137 = PyTuple_Pack(15, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_True), ((PyObject*)__pyx_float_1_eneg_6), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_n_s_Tor), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 1561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__137);
__Pyx_GIVEREF(__pyx_tuple__137);
1562: cnp.ndarray[double, ndim=2,mode='c'] VPoly,
1563: cnp.ndarray[double, ndim=2,mode='c'] VIn,
+1564: Lim=None, nLim=None,
values[4] = ((PyObject *)((PyObject *)Py_None));
values[5] = ((PyObject *)((PyObject *)Py_None));
+1565: LSPoly=None, LSLim=None, lSnLim=None, LSVIn=None,
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject *)((PyObject *)Py_None));
+1566: RMin=None, Forbid=True,
values[10] = ((PyObject *)((PyObject *)Py_None));
values[11] = ((PyObject *)((PyObject *)Py_True));
values[12] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_6));
values[13] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[14] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[15] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[16] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[17] = ((PyObject *)((PyObject*)__pyx_n_s_Tor));
1567: EpsUz=1.e-6, EpsVz=1.e-9, EpsA=1.e-9,
1568: EpsB=1.e-9, EpsPlane=1.e-9,
+1569: VType='Tor', Test=True):
values[18] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Ds)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dus)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_Calc_PInOut_VesStruct", 0, 4, 19, 1); __PYX_ERR(0, 1561, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_Calc_PInOut_VesStruct", 0, 4, 19, 2); __PYX_ERR(0, 1561, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_Calc_PInOut_VesStruct", 0, 4, 19, 3); __PYX_ERR(0, 1561, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Lim);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nLim);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSPoly);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSLim);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lSnLim);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSVIn);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RMin);
if (value) { values[10] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 11:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Forbid);
if (value) { values[11] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 12:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsUz);
if (value) { values[12] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 13:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsVz);
if (value) { values[13] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 14:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsA);
if (value) { values[14] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 15:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsB);
if (value) { values[15] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 16:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsPlane);
if (value) { values[16] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 17:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VType);
if (value) { values[17] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 18:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[18] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "LOS_Calc_PInOut_VesStruct") < 0)) __PYX_ERR(0, 1561, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_Ds = values[0];
__pyx_v_dus = values[1];
__pyx_v_VPoly = ((PyArrayObject *)values[2]);
__pyx_v_VIn = ((PyArrayObject *)values[3]);
__pyx_v_Lim = values[4];
__pyx_v_nLim = values[5];
__pyx_v_LSPoly = values[6];
__pyx_v_LSLim = values[7];
__pyx_v_lSnLim = values[8];
__pyx_v_LSVIn = values[9];
__pyx_v_RMin = values[10];
__pyx_v_Forbid = values[11];
__pyx_v_EpsUz = values[12];
__pyx_v_EpsVz = values[13];
__pyx_v_EpsA = values[14];
__pyx_v_EpsB = values[15];
__pyx_v_EpsPlane = values[16];
__pyx_v_VType = values[17];
__pyx_v_Test = values[18];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("LOS_Calc_PInOut_VesStruct", 0, 4, 19, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1561, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.LOS_Calc_PInOut_VesStruct", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_VPoly), __pyx_ptype_5numpy_ndarray, 1, "VPoly", 0))) __PYX_ERR(0, 1562, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_VIn), __pyx_ptype_5numpy_ndarray, 1, "VIn", 0))) __PYX_ERR(0, 1563, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_44LOS_Calc_PInOut_VesStruct(__pyx_self, __pyx_v_Ds, __pyx_v_dus, __pyx_v_VPoly, __pyx_v_VIn, __pyx_v_Lim, __pyx_v_nLim, __pyx_v_LSPoly, __pyx_v_LSLim, __pyx_v_lSnLim, __pyx_v_LSVIn, __pyx_v_RMin, __pyx_v_Forbid, __pyx_v_EpsUz, __pyx_v_EpsVz, __pyx_v_EpsA, __pyx_v_EpsB, __pyx_v_EpsPlane, __pyx_v_VType, __pyx_v_Test);
1570: """ Compute the entry and exit point of all provided LOS for the provided vessel polygon (toroidal or linear), also return the normal vector at impact point and the index of the impact segment
1571:
1572: For each LOS,
1573:
1574: Parameters
1575: ----------
1576:
1577:
1578:
1579: Return
1580: ------
1581: PIn : np.ndarray
1582: Point of entry (if any) of the LOS into the vessel, returned in (X,Y,Z) cartesian coordinates as:
1583: 1 LOS => (3,) array or None if there is no entry point
1584: NL LOS => (3,NL), with NaNs when there is no entry point
1585: POut : np.ndarray
1586: Point of exit of the LOS from the vessel, returned in (X,Y,Z) cartesian coordinates as:
1587: 1 LOS => (3,) array or None if there is no entry point
1588: NL LOS => (3,NL), with NaNs when there is no entry point
1589: VOut : np.ndarray
1590:
1591: IOut : np.ndarray
1592:
1593: """
+1594: if Test:
__Pyx_TraceLine(1594,0,__PYX_ERR(0, 1594, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1594, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+1595: assert type(Ds) is np.ndarray and type(dus) is np.ndarray and Ds.ndim in [1,2] and Ds.shape==dus.shape and Ds.shape[0]==3, "Args Ds and dus must be of the same shape (3,) or (3,NL) !"
__Pyx_TraceLine(1595,0,__PYX_ERR(0, 1595, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_v_Ds)) == __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_v_dus)) == __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__pyx_t_5 != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L8_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_dus, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_5; __pyx_L4_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_Ds_and_dus_must_be_of_the_s); __PYX_ERR(0, 1595, __pyx_L1_error) } } #endif
+1596: assert VPoly.shape[0]==2 and VIn.shape[0]==2 and VIn.shape[1]==VPoly.shape[1]-1, "Args VPoly and VIn must be of the same shape (2,NS) !"
__Pyx_TraceLine(1596,0,__PYX_ERR(0, 1596, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (((__pyx_v_VPoly->dimensions[0]) == 2) != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L11_bool_binop_done; } __pyx_t_5 = (((__pyx_v_VIn->dimensions[0]) == 2) != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L11_bool_binop_done; } __pyx_t_5 = (((__pyx_v_VIn->dimensions[1]) == ((__pyx_v_VPoly->dimensions[1]) - 1)) != 0); __pyx_t_1 = __pyx_t_5; __pyx_L11_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_VPoly_and_VIn_must_be_of_th); __PYX_ERR(0, 1596, __pyx_L1_error) } } #endif
+1597: C1 = all([pp is None for pp in [LSPoly,LSLim,LSVIn]])
__Pyx_TraceLine(1597,0,__PYX_ERR(0, 1597, __pyx_L1_error)) __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_LSPoly); __Pyx_GIVEREF(__pyx_v_LSPoly); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_LSPoly); __Pyx_INCREF(__pyx_v_LSLim); __Pyx_GIVEREF(__pyx_v_LSLim); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_LSLim); __Pyx_INCREF(__pyx_v_LSVIn); __Pyx_GIVEREF(__pyx_v_LSVIn); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_LSVIn); __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (__pyx_t_7 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1597, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = (__pyx_v_pp == Py_None); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_C1 = __pyx_t_2; __pyx_t_2 = 0;
+1598: C2 = all([hasattr(pp,'__iter__') and len(pp)==len(LSPoly) for pp in [LSPoly,LSLim,LSVIn]])
__Pyx_TraceLine(1598,0,__PYX_ERR(0, 1598, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_LSPoly); __Pyx_GIVEREF(__pyx_v_LSPoly); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_LSPoly); __Pyx_INCREF(__pyx_v_LSLim); __Pyx_GIVEREF(__pyx_v_LSLim); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_LSLim); __Pyx_INCREF(__pyx_v_LSVIn); __Pyx_GIVEREF(__pyx_v_LSVIn); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_LSVIn); __pyx_t_3 = __pyx_t_6; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (__pyx_t_7 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1598, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_HasAttr(__pyx_v_pp, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1598, __pyx_L1_error) if (__pyx_t_1) { } else { __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L18_bool_binop_done; } __pyx_t_9 = PyObject_Length(__pyx_v_pp); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1598, __pyx_L1_error) __pyx_t_10 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1598, __pyx_L1_error) __pyx_t_1 = (__pyx_t_9 == __pyx_t_10); __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __pyx_t_8; __pyx_t_8 = 0; __pyx_L18_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_C2 = __pyx_t_3; __pyx_t_3 = 0;
+1599: assert C1 or C2, "Args LSPoly,LSLim,LSVIn must be None or lists of same len() !"
__Pyx_TraceLine(1599,0,__PYX_ERR(0, 1599, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_C1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1599, __pyx_L1_error) if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L20_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_C2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1599, __pyx_L1_error) __pyx_t_1 = __pyx_t_5; __pyx_L20_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_LSPoly_LSLim_LSVIn_must_be); __PYX_ERR(0, 1599, __pyx_L1_error) } } #endif
+1600: assert RMin is None or type(RMin) in [float,int,np.float64,np.int64], "Arg RMin must be None or a float !"
__Pyx_TraceLine(1600,0,__PYX_ERR(0, 1600, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_5 = (__pyx_v_RMin == Py_None); __pyx_t_4 = (__pyx_t_5 != 0); if (!__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L22_bool_binop_done; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_RMin))); __pyx_t_3 = ((PyObject *)Py_TYPE(__pyx_v_RMin)); __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L24_bool_binop_done; } __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L24_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L24_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L24_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__pyx_t_4 != 0); __pyx_t_1 = __pyx_t_5; __pyx_L22_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_RMin_must_be_None_or_a_float); __PYX_ERR(0, 1600, __pyx_L1_error) } } #endif
+1601: assert type(Forbid) is bool, "Arg Forbid must be a bool !"
__Pyx_TraceLine(1601,0,__PYX_ERR(0, 1601, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_Forbid)) == ((PyObject *)__pyx_ptype_7cpython_4bool_bool)); if (unlikely(!(__pyx_t_1 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Forbid_must_be_a_bool); __PYX_ERR(0, 1601, __pyx_L1_error) } } #endif
+1602: assert all([type(ee) in [int,float,np.int64,np.float64] and ee<1.e-4 for ee in [EpsUz,EpsVz,EpsA,EpsB,EpsPlane]]), "Args [EpsUz,EpsVz,EpsA,EpsB] must be floats < 1.e-4 !"
__Pyx_TraceLine(1602,0,__PYX_ERR(0, 1602, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_EpsUz); __Pyx_GIVEREF(__pyx_v_EpsUz); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_EpsUz); __Pyx_INCREF(__pyx_v_EpsVz); __Pyx_GIVEREF(__pyx_v_EpsVz); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_EpsVz); __Pyx_INCREF(__pyx_v_EpsA); __Pyx_GIVEREF(__pyx_v_EpsA); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_EpsA); __Pyx_INCREF(__pyx_v_EpsB); __Pyx_GIVEREF(__pyx_v_EpsB); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_EpsB); __Pyx_INCREF(__pyx_v_EpsPlane); __Pyx_GIVEREF(__pyx_v_EpsPlane); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_EpsPlane); __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (__pyx_t_7 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_ee, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_ee))); __pyx_t_8 = ((PyObject *)Py_TYPE(__pyx_v_ee)); __pyx_t_11 = PyObject_RichCompare(((PyObject *)__pyx_t_8), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L32_bool_binop_done; } __pyx_t_11 = PyObject_RichCompare(((PyObject *)__pyx_t_8), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L32_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_int64); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(((PyObject *)__pyx_t_8), __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (!__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L32_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(((PyObject *)__pyx_t_8), __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = __pyx_t_5; __pyx_L32_bool_binop_done:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_5 = __pyx_t_1; if (__pyx_t_5) { } else { __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L30_bool_binop_done; } __pyx_t_8 = PyObject_RichCompare(__pyx_v_ee, __pyx_float_1_eneg_4, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_INCREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_L30_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_EpsUz_EpsVz_EpsA_EpsB_must); __PYX_ERR(0, 1602, __pyx_L1_error) } } #endif
+1603: assert type(VType) is str and VType.lower() in ['tor','lin'], "Arg VType must be a str in ['Tor','Lin'] !"
__Pyx_TraceLine(1603,0,__PYX_ERR(0, 1603, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_VType)) == ((PyObject *)(&PyString_Type))); __pyx_t_4 = (__pyx_t_1 != 0); if (__pyx_t_4) { } else { __pyx_t_5 = __pyx_t_4; goto __pyx_L36_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1603, __pyx_L1_error) if (!__pyx_t_1) { } else { __pyx_t_4 = __pyx_t_1; goto __pyx_L38_bool_binop_done; } __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_lin, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1603, __pyx_L1_error) __pyx_t_4 = __pyx_t_1; __pyx_L38_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = (__pyx_t_4 != 0); __pyx_t_5 = __pyx_t_1; __pyx_L36_bool_binop_done:; if (unlikely(!__pyx_t_5)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_VType_must_be_a_str_in_Tor_L); __PYX_ERR(0, 1603, __pyx_L1_error) } } #endif
1604:
1605: cdef int ii, jj
1606:
+1607: print("\n ---- > Using the WRONG one !!!!!!!\n")
__Pyx_TraceLine(1607,0,__PYX_ERR(0, 1607, __pyx_L1_error)) if (__Pyx_PrintOne(0, __pyx_kp_s_Using_the_WRONG_one) < 0) __PYX_ERR(0, 1607, __pyx_L1_error)
+1608: if nLim==0:
__Pyx_TraceLine(1608,0,__PYX_ERR(0, 1608, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_nLim, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L40; }
+1609: Lim = None
__Pyx_TraceLine(1609,0,__PYX_ERR(0, 1609, __pyx_L1_error)) __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_Lim, Py_None);
+1610: elif nLim==1:
__Pyx_TraceLine(1610,0,__PYX_ERR(0, 1610, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_nLim, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1610, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_5) { /* … */ } __pyx_L40:;
+1611: Lim = [Lim[0,0],Lim[0,1]]
__Pyx_TraceLine(1611,0,__PYX_ERR(0, 1611, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__36); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); /* … */ __pyx_tuple__36 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 1611, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_Lim, __pyx_tuple__37); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_6 = 0; __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_Lim, __pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__37 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 1611, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37);
+1612: if lSnLim is not None:
__Pyx_TraceLine(1612,0,__PYX_ERR(0, 1612, __pyx_L1_error)) __pyx_t_5 = (__pyx_v_lSnLim != Py_None); __pyx_t_1 = (__pyx_t_5 != 0); if (__pyx_t_1) { /* … */ }
+1613: for ii in range(0,len(lSnLim)):
__Pyx_TraceLine(1613,0,__PYX_ERR(0, 1613, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_v_lSnLim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1613, __pyx_L1_error) __pyx_t_10 = __pyx_t_7; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_10; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+1614: if lSnLim[ii]==0:
__Pyx_TraceLine(1614,0,__PYX_ERR(0, 1614, __pyx_L1_error)) __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_lSnLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L44; }
+1615: LSLim[ii] = None
__Pyx_TraceLine(1615,0,__PYX_ERR(0, 1615, __pyx_L1_error)) if (unlikely(__Pyx_SetItemInt(__pyx_v_LSLim, __pyx_v_ii, Py_None, int, 1, __Pyx_PyInt_From_int, 0, 1, 1) < 0)) __PYX_ERR(0, 1615, __pyx_L1_error)
+1616: elif lSnLim[ii]==1:
__Pyx_TraceLine(1616,0,__PYX_ERR(0, 1616, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_lSnLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ } __pyx_L44:; }
+1617: LSLim[ii] = [LSLim[ii][0,0],LSLim[ii][0,1]]
__Pyx_TraceLine(1617,0,__PYX_ERR(0, 1617, __pyx_L1_error)) __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_tuple__36); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* … */ __pyx_tuple__36 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_tuple__37); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_LSLim, __pyx_v_ii, __pyx_t_2, int, 1, __Pyx_PyInt_From_int, 0, 1, 1) < 0)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__37 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37);
1618:
+1619: v = Ds.ndim==2
__Pyx_TraceLine(1619,0,__PYX_ERR(0, 1619, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_v = __pyx_t_6; __pyx_t_6 = 0;
+1620: if not v:
__Pyx_TraceLine(1620,0,__PYX_ERR(0, 1620, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1620, __pyx_L1_error) __pyx_t_5 = ((!__pyx_t_1) != 0); if (__pyx_t_5) { /* … */ }
+1621: Ds, dus = Ds.reshape((3,1)), dus.reshape((3,1))
__Pyx_TraceLine(1621,0,__PYX_ERR(0, 1621, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_reshape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_dus, __pyx_n_s_reshape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_tuple__53) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_tuple__53); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_Ds, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_dus, __pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__53 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_1); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+1622: NL = Ds.shape[1]
__Pyx_TraceLine(1622,0,__PYX_ERR(0, 1622, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_NL = __pyx_t_6; __pyx_t_6 = 0;
+1623: IOut = np.zeros((3,Ds.shape[1]))
__Pyx_TraceLine(1623,0,__PYX_ERR(0, 1623, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_Ds, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_IOut = __pyx_t_6; __pyx_t_6 = 0;
+1624: if VType.lower()=='tor':
__Pyx_TraceLine(1624,0,__PYX_ERR(0, 1624, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1624, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L46; }
1625: # RMin is necessary to avoid looking on the other side of the tokamak
+1626: if RMin is None:
__Pyx_TraceLine(1626,0,__PYX_ERR(0, 1626, __pyx_L1_error)) __pyx_t_5 = (__pyx_v_RMin == Py_None); __pyx_t_1 = (__pyx_t_5 != 0); if (__pyx_t_1) { /* … */ }
+1627: RMin = 0.95*min(np.min(VPoly[0,:]),
__Pyx_TraceLine(1627,0,__PYX_ERR(0, 1627, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_VPoly), __pyx_tuple__39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_15, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_3); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* … */ __Pyx_TraceLine(1627,0,__PYX_ERR(0, 1627, __pyx_L1_error)) __pyx_t_6 = PyNumber_Multiply(__pyx_float_0_95, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_RMin, __pyx_t_6); __pyx_t_6 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+1628: np.min(np.hypot(Ds[0,:],Ds[1,:])))
__Pyx_TraceLine(1628,0,__PYX_ERR(0, 1628, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_hypot); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_Ds, __pyx_tuple__39); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_Ds, __pyx_tuple__45); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_8, __pyx_t_12}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_8, __pyx_t_12}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_13, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_13, __pyx_t_12); __pyx_t_8 = 0; __pyx_t_12 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_11, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); /* … */ __Pyx_TraceLine(1628,0,__PYX_ERR(0, 1628, __pyx_L1_error)) __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_11 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1629:
1630: # Main function to compute intersections with Vessel
+1631: PIn, POut, VperpIn, VperpOut, IIn, IOut[2,:] = Calc_LOS_PInOut_Tor(Ds, dus, VPoly, VIn, Lim=Lim, Forbid=Forbid, RMin=RMin,
__Pyx_TraceLine(1631,0,__PYX_ERR(0, 1631, __pyx_L1_error)) __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_Ds, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 1631, __pyx_L1_error) __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_dus, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1631, __pyx_L1_error) __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPoly), PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 1631, __pyx_L1_error) __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VIn), PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1631, __pyx_L1_error) if (!(likely(((__pyx_v_Forbid) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_Forbid, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 1631, __pyx_L1_error) /* … */ __Pyx_TraceLine(1631,0,__PYX_ERR(0, 1631, __pyx_L1_error)) __pyx_t_25.__pyx_n = 8; __pyx_t_25.Lim = __pyx_v_Lim; __pyx_t_25.Forbid = ((PyBoolObject *)__pyx_v_Forbid); __pyx_t_25.RMin = __pyx_v_RMin; __pyx_t_25.EpsUz = __pyx_t_20; __pyx_t_25.EpsVz = __pyx_t_21; __pyx_t_25.EpsA = __pyx_t_22; __pyx_t_25.EpsB = __pyx_t_23; __pyx_t_25.EpsPlane = __pyx_t_24; __pyx_t_6 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor(__pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, &__pyx_t_25); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __PYX_XDEC_MEMVIEW(&__pyx_t_16, 1); __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_17, 1); __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_18, 1); __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { PyObject* sequence = __pyx_t_6; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1631, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_15 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_12 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_15 = PyList_GET_ITEM(sequence, 3); __pyx_t_12 = PyList_GET_ITEM(sequence, 4); __pyx_t_8 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_11,&__pyx_t_2,&__pyx_t_3,&__pyx_t_15,&__pyx_t_12,&__pyx_t_8}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_11,&__pyx_t_2,&__pyx_t_3,&__pyx_t_15,&__pyx_t_12,&__pyx_t_8}; __pyx_t_14 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_26 = Py_TYPE(__pyx_t_14)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_26(__pyx_t_14); if (unlikely(!item)) goto __pyx_L48_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_26(__pyx_t_14), 6) < 0) __PYX_ERR(0, 1631, __pyx_L1_error) __pyx_t_26 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L49_unpacking_done; __pyx_L48_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_26 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1631, __pyx_L1_error) __pyx_L49_unpacking_done:; } __pyx_v_PIn = __pyx_t_11; __pyx_t_11 = 0; __pyx_v_POut = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_VperpIn = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_VperpOut = __pyx_t_15; __pyx_t_15 = 0; __pyx_v_IIn = __pyx_t_12; __pyx_t_12 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_tuple__35, __pyx_t_8) < 0)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
+1632: EpsUz=EpsUz, EpsVz=EpsVz, EpsA=EpsA, EpsB=EpsB, EpsPlane=EpsPlane)
__Pyx_TraceLine(1632,0,__PYX_ERR(0, 1632, __pyx_L1_error)) __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_v_EpsUz); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1632, __pyx_L1_error) __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_v_EpsVz); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1632, __pyx_L1_error) __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_v_EpsA); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1632, __pyx_L1_error) __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsB); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1632, __pyx_L1_error) __pyx_t_24 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1632, __pyx_L1_error)
1633:
1634: # k = coordinate (in m) along the line from D
+1635: kPOut = np.sqrt(np.sum((POut-Ds)**2,axis=0))
__Pyx_TraceLine(1635,0,__PYX_ERR(0, 1635, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_sum); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Subtract(__pyx_v_POut, __pyx_v_Ds); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyNumber_Power(__pyx_t_8, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1635, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_kPOut = __pyx_t_6; __pyx_t_6 = 0;
+1636: kPIn = np.sqrt(np.sum((PIn-Ds)**2,axis=0))
__Pyx_TraceLine(1636,0,__PYX_ERR(0, 1636, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_PIn, __pyx_v_Ds); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = PyNumber_Power(__pyx_t_12, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1636, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, __pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_15); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kPIn = __pyx_t_6; __pyx_t_6 = 0;
+1637: assert np.allclose(kPOut,np.sum((POut-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1637,0,__PYX_ERR(0, 1637, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_allclose); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sum); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_v_POut, __pyx_v_Ds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyNumber_Multiply(__pyx_t_6, __pyx_v_dus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1637, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_kPOut); __Pyx_GIVEREF(__pyx_v_kPOut); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_kPOut); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1637, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1637, __pyx_L1_error) } } #endif
+1638: assert np.allclose(kPIn,np.sum((PIn-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1638,0,__PYX_ERR(0, 1638, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_allclose); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sum); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_v_PIn, __pyx_v_Ds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyNumber_Multiply(__pyx_t_6, __pyx_v_dus); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1638, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_kPIn); __Pyx_GIVEREF(__pyx_v_kPIn); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_kPIn); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1638, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1638, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1638, __pyx_L1_error) } } #endif
1639:
1640: # If there are Struct, call the same function
1641: # Structural optimzation : do everything in one big for loop and only
1642: # keep the relevant points (to save memory)
+1643: if LSPoly is not None:
__Pyx_TraceLine(1643,0,__PYX_ERR(0, 1643, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_LSPoly != Py_None); __pyx_t_5 = (__pyx_t_1 != 0); if (__pyx_t_5) { /* … */ }
+1644: Ind = np.zeros((2,NL))
__Pyx_TraceLine(1644,0,__PYX_ERR(0, 1644, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_2); __Pyx_INCREF(__pyx_v_NL); __Pyx_GIVEREF(__pyx_v_NL); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_NL); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_12, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_15); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Ind = __pyx_t_6; __pyx_t_6 = 0;
+1645: for ii in range(0,len(LSPoly)):
__Pyx_TraceLine(1645,0,__PYX_ERR(0, 1645, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1645, __pyx_L1_error) __pyx_t_10 = __pyx_t_7; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_10; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+1646: if LSLim[ii] is None or not all([hasattr(ll,'__iter__') for ll in LSLim[ii]]):
__Pyx_TraceLine(1646,0,__PYX_ERR(0, 1646, __pyx_L1_error)) __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = (__pyx_t_6 == Py_None); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = (__pyx_t_1 != 0); if (!__pyx_t_4) { } else { __pyx_t_5 = __pyx_t_4; goto __pyx_L54_bool_binop_done; } __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_15 = __pyx_t_2; __Pyx_INCREF(__pyx_t_15); __pyx_t_9 = 0; __pyx_t_27 = NULL; } else { __pyx_t_9 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_27 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1646, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_27)) { if (likely(PyList_CheckExact(__pyx_t_15))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1646, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_15, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1646, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_15, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_27(__pyx_t_15); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1646, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_ll, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_HasAttr(__pyx_v_ll, __pyx_n_s_iter); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1646, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_1 = ((!__pyx_t_4) != 0); __pyx_t_5 = __pyx_t_1; __pyx_L54_bool_binop_done:; if (__pyx_t_5) { /* … */ goto __pyx_L53; }
+1647: lslim = [LSLim[ii]]
__Pyx_TraceLine(1647,0,__PYX_ERR(0, 1647, __pyx_L1_error)) __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_6); __pyx_t_6 = 0;
1648: else:
+1649: lslim = LSLim[ii]
__Pyx_TraceLine(1649,0,__PYX_ERR(0, 1649, __pyx_L1_error)) /*else*/ { __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_6); __pyx_t_6 = 0; } __pyx_L53:;
+1650: for jj in range(0,len(lslim)):
__Pyx_TraceLine(1650,0,__PYX_ERR(0, 1650, __pyx_L1_error)) __pyx_t_9 = PyObject_Length(__pyx_v_lslim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1650, __pyx_L1_error) __pyx_t_28 = __pyx_t_9; for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_28; __pyx_t_29+=1) { __pyx_v_jj = __pyx_t_29;
+1651: pIn, pOut, vperpIn, vperpOut, iIn, iOut = Calc_LOS_PInOut_Tor(Ds, dus, LSPoly[ii], LSVIn[ii], Lim=lslim[jj], Forbid=Forbid, RMin=RMin,
__Pyx_TraceLine(1651,0,__PYX_ERR(0, 1651, __pyx_L1_error)) __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_Ds, PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1651, __pyx_L1_error) __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_dus, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 1651, __pyx_L1_error) __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_LSPoly, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_6, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_LSVIn, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_6, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_lslim, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(((__pyx_v_Forbid) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_Forbid, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 1651, __pyx_L1_error) /* … */ __Pyx_TraceLine(1651,0,__PYX_ERR(0, 1651, __pyx_L1_error)) __pyx_t_25.__pyx_n = 8; __pyx_t_25.Lim = __pyx_t_6; __pyx_t_25.Forbid = ((PyBoolObject *)__pyx_v_Forbid); __pyx_t_25.RMin = __pyx_v_RMin; __pyx_t_25.EpsUz = __pyx_t_24; __pyx_t_25.EpsVz = __pyx_t_23; __pyx_t_25.EpsA = __pyx_t_22; __pyx_t_25.EpsB = __pyx_t_21; __pyx_t_25.EpsPlane = __pyx_t_20; __pyx_t_15 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor(__pyx_t_19, __pyx_t_18, __pyx_t_17, __pyx_t_16, &__pyx_t_25); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_18, 1); __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_17, 1); __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_16, 1); __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_15))) || (PyList_CheckExact(__pyx_t_15))) { PyObject* sequence = __pyx_t_15; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1651, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_12 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); __pyx_t_12 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); __pyx_t_3 = PyList_GET_ITEM(sequence, 4); __pyx_t_11 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_6,&__pyx_t_2,&__pyx_t_12,&__pyx_t_8,&__pyx_t_3,&__pyx_t_11}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_6,&__pyx_t_2,&__pyx_t_12,&__pyx_t_8,&__pyx_t_3,&__pyx_t_11}; __pyx_t_14 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_26 = Py_TYPE(__pyx_t_14)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_26(__pyx_t_14); if (unlikely(!item)) goto __pyx_L60_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_26(__pyx_t_14), 6) < 0) __PYX_ERR(0, 1651, __pyx_L1_error) __pyx_t_26 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L61_unpacking_done; __pyx_L60_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_26 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1651, __pyx_L1_error) __pyx_L61_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_pIn, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_pOut, __pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_vperpIn, __pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_vperpOut, __pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_iIn, __pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_iOut, __pyx_t_11); __pyx_t_11 = 0;
+1652: EpsUz=EpsUz, EpsVz=EpsVz, EpsA=EpsA, EpsB=EpsB, EpsPlane=EpsPlane)
__Pyx_TraceLine(1652,0,__PYX_ERR(0, 1652, __pyx_L1_error)) __pyx_t_24 = __pyx_PyFloat_AsDouble(__pyx_v_EpsUz); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1652, __pyx_L1_error) __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsVz); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1652, __pyx_L1_error) __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_v_EpsA); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1652, __pyx_L1_error) __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_v_EpsB); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1652, __pyx_L1_error) __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1652, __pyx_L1_error)
+1653: kpin = np.sqrt(np.sum((Ds-pIn)**2,axis=0))
__Pyx_TraceLine(1653,0,__PYX_ERR(0, 1653, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sum); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_v_Ds, __pyx_v_pIn); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyNumber_Power(__pyx_t_11, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1653, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_15 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_kpin, __pyx_t_15); __pyx_t_15 = 0;
+1654: indNoNan = (~np.isnan(kpin)) & (~np.isnan(kPOut))
__Pyx_TraceLine(1654,0,__PYX_ERR(0, 1654, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_isnan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_15 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Invert(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_isnan); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_15 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_3, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Invert(__pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_And(__pyx_t_2, __pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_indNoNan, __pyx_t_15); __pyx_t_15 = 0;
+1655: indout = np.zeros((NL,),dtype=bool)
__Pyx_TraceLine(1655,0,__PYX_ERR(0, 1655, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_v_NL); __Pyx_GIVEREF(__pyx_v_NL); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v_NL); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1655, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_indout, __pyx_t_3); __pyx_t_3 = 0;
+1656: indout[indNoNan] = kpin[indNoNan]<kPOut[indNoNan]
__Pyx_TraceLine(1656,0,__PYX_ERR(0, 1656, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indNoNan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_kPOut, __pyx_v_indNoNan); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_15, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1656, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_v_indNoNan, __pyx_t_2) < 0)) __PYX_ERR(0, 1656, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1657: indout[(~np.isnan(kpin)) & np.isnan(kPOut)] = True
__Pyx_TraceLine(1657,0,__PYX_ERR(0, 1657, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_isnan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_15, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Invert(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_isnan); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_15, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_And(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_t_12, Py_True) < 0)) __PYX_ERR(0, 1657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1658: if np.any(indout):
__Pyx_TraceLine(1658,0,__PYX_ERR(0, 1658, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_any); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_indout) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_indout); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { /* … */ } } }
+1659: kPOut[indout] = kpin[indout]
__Pyx_TraceLine(1659,0,__PYX_ERR(0, 1659, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indout); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_v_kPOut, __pyx_v_indout, __pyx_t_12) < 0)) __PYX_ERR(0, 1659, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1660: POut[:,indout] = pIn[:,indout]
__Pyx_TraceLine(1660,0,__PYX_ERR(0, 1660, __pyx_L1_error)) __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_indout); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pIn, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_POut, __pyx_t_12, __pyx_t_3) < 0)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1661: VperpOut[:,indout] = vperpIn[:,indout]
__Pyx_TraceLine(1661,0,__PYX_ERR(0, 1661, __pyx_L1_error)) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indout); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_vperpIn, __pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_VperpOut, __pyx_t_3, __pyx_t_12) < 0)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1662: IOut[2,indout] = iIn[indout]
__Pyx_TraceLine(1662,0,__PYX_ERR(0, 1662, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_iIn, __pyx_v_indout); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_2); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_3, __pyx_t_12) < 0)) __PYX_ERR(0, 1662, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1663: IOut[0,indout] = 1+ii
__Pyx_TraceLine(1663,0,__PYX_ERR(0, 1663, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyInt_From_long((1 + __pyx_v_ii)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_3, __pyx_t_12) < 0)) __PYX_ERR(0, 1663, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1664: IOut[1,indout] = jj
__Pyx_TraceLine(1664,0,__PYX_ERR(0, 1664, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_3, __pyx_t_12) < 0)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
1665: else:
+1666: PIn, POut, VperpIn, VperpOut, IIn, IOut[2,:] = Calc_LOS_PInOut_Lin(Ds, dus, VPoly, VIn, Lim, EpsPlane=EpsPlane)
__Pyx_TraceLine(1666,0,__PYX_ERR(0, 1666, __pyx_L1_error)) /*else*/ { __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_Ds, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_dus, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPoly), PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VIn), PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_30.__pyx_n = 1; __pyx_t_30.EpsPlane = __pyx_t_20; __pyx_t_12 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin(__pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_v_Lim, &__pyx_t_30); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __PYX_XDEC_MEMVIEW(&__pyx_t_16, 1); __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_17, 1); __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_18, 1); __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; if ((likely(PyTuple_CheckExact(__pyx_t_12))) || (PyList_CheckExact(__pyx_t_12))) { PyObject* sequence = __pyx_t_12; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1666, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_15 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); __pyx_t_15 = PyList_GET_ITEM(sequence, 2); __pyx_t_11 = PyList_GET_ITEM(sequence, 3); __pyx_t_8 = PyList_GET_ITEM(sequence, 4); __pyx_t_6 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_6); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_3,&__pyx_t_2,&__pyx_t_15,&__pyx_t_11,&__pyx_t_8,&__pyx_t_6}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_3,&__pyx_t_2,&__pyx_t_15,&__pyx_t_11,&__pyx_t_8,&__pyx_t_6}; __pyx_t_14 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_26 = Py_TYPE(__pyx_t_14)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_26(__pyx_t_14); if (unlikely(!item)) goto __pyx_L63_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_26(__pyx_t_14), 6) < 0) __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_t_26 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L64_unpacking_done; __pyx_L63_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_26 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1666, __pyx_L1_error) __pyx_L64_unpacking_done:; } __pyx_v_PIn = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_POut = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_VperpIn = __pyx_t_15; __pyx_t_15 = 0; __pyx_v_VperpOut = __pyx_t_11; __pyx_t_11 = 0; __pyx_v_IIn = __pyx_t_8; __pyx_t_8 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_tuple__35, __pyx_t_6) < 0)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
+1667: kPOut = np.sqrt(np.sum((POut-Ds)**2,axis=0))
__Pyx_TraceLine(1667,0,__PYX_ERR(0, 1667, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sum); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_v_POut, __pyx_v_Ds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = PyNumber_Power(__pyx_t_6, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1667, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_6, __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_15, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_2); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_kPOut = __pyx_t_12; __pyx_t_12 = 0;
+1668: kPIn = np.sqrt(np.sum((PIn-Ds)**2,axis=0))
__Pyx_TraceLine(1668,0,__PYX_ERR(0, 1668, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_sum); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Subtract(__pyx_v_PIn, __pyx_v_Ds); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyNumber_Power(__pyx_t_8, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1668, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_12 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_11); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kPIn = __pyx_t_12; __pyx_t_12 = 0;
+1669: assert np.allclose(kPOut,np.sum((POut-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1669,0,__PYX_ERR(0, 1669, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_allclose); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sum); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_POut, __pyx_v_Ds); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = PyNumber_Multiply(__pyx_t_12, __pyx_v_dus); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1669, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_kPOut); __Pyx_GIVEREF(__pyx_v_kPOut); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_kPOut); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1669, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1669, __pyx_L1_error) } } #endif
+1670: assert np.allclose(kPIn,np.sum((PIn-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1670,0,__PYX_ERR(0, 1670, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_allclose); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sum); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_PIn, __pyx_v_Ds); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = PyNumber_Multiply(__pyx_t_12, __pyx_v_dus); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1670, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_12, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_kPIn); __Pyx_GIVEREF(__pyx_v_kPIn); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_kPIn); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1670, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_5)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1670, __pyx_L1_error) } } #endif
+1671: if LSPoly is not None:
__Pyx_TraceLine(1671,0,__PYX_ERR(0, 1671, __pyx_L1_error)) __pyx_t_5 = (__pyx_v_LSPoly != Py_None); __pyx_t_1 = (__pyx_t_5 != 0); if (__pyx_t_1) { /* … */ } } __pyx_L46:;
+1672: Ind = np.zeros((2,NL))
__Pyx_TraceLine(1672,0,__PYX_ERR(0, 1672, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_2); __Pyx_INCREF(__pyx_v_NL); __Pyx_GIVEREF(__pyx_v_NL); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_v_NL); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_12 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_11); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Ind = __pyx_t_12; __pyx_t_12 = 0;
+1673: for ii in range(0,len(LSPoly)):
__Pyx_TraceLine(1673,0,__PYX_ERR(0, 1673, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1673, __pyx_L1_error) __pyx_t_10 = __pyx_t_7; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_10; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+1674: lslim = [LSLim[ii]] if not all([hasattr(ll,'__iter__') for ll in LSLim[ii]]) else LSLim[ii]
__Pyx_TraceLine(1674,0,__PYX_ERR(0, 1674, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_8 = __pyx_t_11; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_27 = NULL; } else { __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_27 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1674, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_27)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_11); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1674, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_11); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1674, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_27(__pyx_t_8); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1674, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_ll, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = __Pyx_HasAttr(__pyx_v_ll, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1674, __pyx_L1_error) __pyx_t_11 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (((!__pyx_t_1) != 0)) { __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_12 = __pyx_t_2; __pyx_t_2 = 0; } else { __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __pyx_t_2; __pyx_t_2 = 0; } __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_12); __pyx_t_12 = 0;
+1675: for jj in range(0,len(lslim)):
__Pyx_TraceLine(1675,0,__PYX_ERR(0, 1675, __pyx_L1_error)) __pyx_t_9 = PyObject_Length(__pyx_v_lslim); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1675, __pyx_L1_error) __pyx_t_28 = __pyx_t_9; for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_28; __pyx_t_29+=1) { __pyx_v_jj = __pyx_t_29;
+1676: pIn, pOut, vperpIn, vperpOut, iIn, iOut = Calc_LOS_PInOut_Lin(Ds, dus, LSPoly[ii], LSVIn[ii], lslim[jj], EpsPlane=EpsPlane)
__Pyx_TraceLine(1676,0,__PYX_ERR(0, 1676, __pyx_L1_error)) __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_Ds, PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1676, __pyx_L1_error) __pyx_t_18 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_dus, PyBUF_WRITABLE); if (unlikely(!__pyx_t_18.memview)) __PYX_ERR(0, 1676, __pyx_L1_error) __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_LSPoly, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_17 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_12, PyBUF_WRITABLE); if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_LSVIn, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_12, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_lslim, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1676, __pyx_L1_error) __pyx_t_30.__pyx_n = 1; __pyx_t_30.EpsPlane = __pyx_t_20; __pyx_t_2 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin(__pyx_t_19, __pyx_t_18, __pyx_t_17, __pyx_t_16, __pyx_t_12, &__pyx_t_30); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_18, 1); __pyx_t_18.memview = NULL; __pyx_t_18.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_17, 1); __pyx_t_17.memview = NULL; __pyx_t_17.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_16, 1); __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 1676, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_15 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_12 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); __pyx_t_11 = PyList_GET_ITEM(sequence, 2); __pyx_t_6 = PyList_GET_ITEM(sequence, 3); __pyx_t_15 = PyList_GET_ITEM(sequence, 4); __pyx_t_3 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(__pyx_t_3); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_12,&__pyx_t_8,&__pyx_t_11,&__pyx_t_6,&__pyx_t_15,&__pyx_t_3}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_12,&__pyx_t_8,&__pyx_t_11,&__pyx_t_6,&__pyx_t_15,&__pyx_t_3}; __pyx_t_14 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_26 = Py_TYPE(__pyx_t_14)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_26(__pyx_t_14); if (unlikely(!item)) goto __pyx_L72_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_26(__pyx_t_14), 6) < 0) __PYX_ERR(0, 1676, __pyx_L1_error) __pyx_t_26 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L73_unpacking_done; __pyx_L72_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_26 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 1676, __pyx_L1_error) __pyx_L73_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_pIn, __pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_pOut, __pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_vperpIn, __pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_vperpOut, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_iIn, __pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_iOut, __pyx_t_3); __pyx_t_3 = 0;
+1677: kpin = np.sqrt(np.sum((Ds-pIn)**2,axis=0))
__Pyx_TraceLine(1677,0,__PYX_ERR(0, 1677, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_v_Ds, __pyx_v_pIn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1677, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_11, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_8); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_kpin, __pyx_t_2); __pyx_t_2 = 0;
+1678: indNoNan = (~np.isnan(kpin)) & (~np.isnan(kPOut))
__Pyx_TraceLine(1678,0,__PYX_ERR(0, 1678, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_isnan); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_15, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Invert(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_isnan); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_15, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Invert(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_And(__pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_indNoNan, __pyx_t_2); __pyx_t_2 = 0;
+1679: indout = np.zeros((NL,),dtype=bool)
__Pyx_TraceLine(1679,0,__PYX_ERR(0, 1679, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_NL); __Pyx_GIVEREF(__pyx_v_NL); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_NL); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1679, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, __pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_indout, __pyx_t_15); __pyx_t_15 = 0;
+1680: indout[indNoNan] = kpin[indNoNan]<kPOut[indNoNan]
__Pyx_TraceLine(1680,0,__PYX_ERR(0, 1680, __pyx_L1_error)) __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indNoNan); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_kPOut, __pyx_v_indNoNan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyObject_RichCompare(__pyx_t_15, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_v_indNoNan, __pyx_t_8) < 0)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1681: indout[(~np.isnan(kpin)) & np.isnan(kPOut)] = True
__Pyx_TraceLine(1681,0,__PYX_ERR(0, 1681, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_2, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Invert(__pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_2, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_And(__pyx_t_15, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_t_11, Py_True) < 0)) __PYX_ERR(0, 1681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1682: if np.any(indout):
__Pyx_TraceLine(1682,0,__PYX_ERR(0, 1682, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_any); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_11 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_8, __pyx_v_indout) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_indout); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_1) { /* … */ } } }
+1683: kPOut[indout] = kpin[indout]
__Pyx_TraceLine(1683,0,__PYX_ERR(0, 1683, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indout); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (unlikely(PyObject_SetItem(__pyx_v_kPOut, __pyx_v_indout, __pyx_t_11) < 0)) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1684: POut[:,indout] = pIn[:,indout]
__Pyx_TraceLine(1684,0,__PYX_ERR(0, 1684, __pyx_L1_error)) __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_v_indout); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_pIn, __pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_POut, __pyx_t_11, __pyx_t_15) < 0)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1685: VperpOut[:,indout] = vperpIn[:,indout]
__Pyx_TraceLine(1685,0,__PYX_ERR(0, 1685, __pyx_L1_error)) __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_indout); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_vperpIn, __pyx_t_15); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_VperpOut, __pyx_t_15, __pyx_t_11) < 0)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+1686: IOut[2,indout] = iIn[indout]
__Pyx_TraceLine(1686,0,__PYX_ERR(0, 1686, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_iIn, __pyx_v_indout); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_2); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_15, __pyx_t_11) < 0)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1687: IOut[0,indout] = 1+ii
__Pyx_TraceLine(1687,0,__PYX_ERR(0, 1687, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyInt_From_long((1 + __pyx_v_ii)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_15, __pyx_t_11) < 0)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1688: IOut[1,indout] = jj
__Pyx_TraceLine(1688,0,__PYX_ERR(0, 1688, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_1); __Pyx_INCREF(__pyx_v_indout); __Pyx_GIVEREF(__pyx_v_indout); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_indout); if (unlikely(PyObject_SetItem(__pyx_v_IOut, __pyx_t_15, __pyx_t_11) < 0)) __PYX_ERR(0, 1688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1689:
+1690: if not v:
__Pyx_TraceLine(1690,0,__PYX_ERR(0, 1690, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1690, __pyx_L1_error) __pyx_t_5 = ((!__pyx_t_1) != 0); if (__pyx_t_5) { /* … */ }
+1691: PIn, POut, kPIn, kPOut, VperpIn, VperpOut, IIn, IOut = PIn.flatten(), POut.flatten(), kPIn[0], kPOut[0], VperpIn.flatten(), VperpOut.flatten(), IIn[0], IOut.flatten()
__Pyx_TraceLine(1691,0,__PYX_ERR(0, 1691, __pyx_L1_error)) __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_PIn, __pyx_n_s_flatten); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_11 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_POut, __pyx_n_s_flatten); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_15 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_kPIn, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_kPOut, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_VperpIn, __pyx_n_s_flatten); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_VperpOut, __pyx_n_s_flatten); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_12); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_IIn, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_IOut, __pyx_n_s_flatten); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_32 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_31))) { __pyx_t_32 = PyMethod_GET_SELF(__pyx_t_31); if (likely(__pyx_t_32)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31); __Pyx_INCREF(__pyx_t_32); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_31, function); } } __pyx_t_14 = (__pyx_t_32) ? __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_32) : __Pyx_PyObject_CallNoArg(__pyx_t_31); __Pyx_XDECREF(__pyx_t_32); __pyx_t_32 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __Pyx_DECREF_SET(__pyx_v_PIn, __pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_POut, __pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF_SET(__pyx_v_kPIn, __pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_kPOut, __pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_VperpIn, __pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_VperpOut, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_IIn, __pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF_SET(__pyx_v_IOut, __pyx_t_14); __pyx_t_14 = 0;
+1692: return PIn, POut, kPIn, kPOut, VperpIn, VperpOut, IIn, IOut
__Pyx_TraceLine(1692,0,__PYX_ERR(0, 1692, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_14 = PyTuple_New(8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_v_PIn); __Pyx_GIVEREF(__pyx_v_PIn); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_PIn); __Pyx_INCREF(__pyx_v_POut); __Pyx_GIVEREF(__pyx_v_POut); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_POut); __Pyx_INCREF(__pyx_v_kPIn); __Pyx_GIVEREF(__pyx_v_kPIn); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_kPIn); __Pyx_INCREF(__pyx_v_kPOut); __Pyx_GIVEREF(__pyx_v_kPOut); PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_v_kPOut); __Pyx_INCREF(__pyx_v_VperpIn); __Pyx_GIVEREF(__pyx_v_VperpIn); PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_v_VperpIn); __Pyx_INCREF(__pyx_v_VperpOut); __Pyx_GIVEREF(__pyx_v_VperpOut); PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_v_VperpOut); __Pyx_INCREF(__pyx_v_IIn); __Pyx_GIVEREF(__pyx_v_IIn); PyTuple_SET_ITEM(__pyx_t_14, 6, __pyx_v_IIn); __Pyx_INCREF(__pyx_v_IOut); __Pyx_GIVEREF(__pyx_v_IOut); PyTuple_SET_ITEM(__pyx_t_14, 7, __pyx_v_IOut); __pyx_r = __pyx_t_14; __pyx_t_14 = 0; goto __pyx_L0;
1693:
1694:
1695:
+1696: def LOS_isVis_PtFromPts_VesStruct(double pt0, double pt1, double pt2,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_47LOS_isVis_PtFromPts_VesStruct(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_46LOS_isVis_PtFromPts_VesStruct[] = " Return an array of bool indices indicating whether each point in pts is\n visible from Pt considering vignetting\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_47LOS_isVis_PtFromPts_VesStruct = {"LOS_isVis_PtFromPts_VesStruct", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_47LOS_isVis_PtFromPts_VesStruct, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_46LOS_isVis_PtFromPts_VesStruct};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_47LOS_isVis_PtFromPts_VesStruct(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
double __pyx_v_pt0;
double __pyx_v_pt1;
double __pyx_v_pt2;
PyArrayObject *__pyx_v_k = 0;
PyArrayObject *__pyx_v_pts = 0;
PyArrayObject *__pyx_v_VPoly = 0;
PyArrayObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_Lim = 0;
PyObject *__pyx_v_LSPoly = 0;
PyObject *__pyx_v_LSLim = 0;
PyObject *__pyx_v_LSVIn = 0;
PyObject *__pyx_v_RMin = 0;
PyObject *__pyx_v_Forbid = 0;
PyObject *__pyx_v_EpsUz = 0;
PyObject *__pyx_v_EpsVz = 0;
PyObject *__pyx_v_EpsA = 0;
PyObject *__pyx_v_EpsB = 0;
PyObject *__pyx_v_EpsPlane = 0;
PyObject *__pyx_v_VType = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_isVis_PtFromPts_VesStruct (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pt0,&__pyx_n_s_pt1,&__pyx_n_s_pt2,&__pyx_n_s_k,&__pyx_n_s_pts,&__pyx_n_s_VPoly,&__pyx_n_s_VIn,&__pyx_n_s_Lim,&__pyx_n_s_LSPoly,&__pyx_n_s_LSLim,&__pyx_n_s_LSVIn,&__pyx_n_s_RMin,&__pyx_n_s_Forbid,&__pyx_n_s_EpsUz,&__pyx_n_s_EpsVz,&__pyx_n_s_EpsA,&__pyx_n_s_EpsB,&__pyx_n_s_EpsPlane,&__pyx_n_s_VType,&__pyx_n_s_Test,0};
PyObject* values[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_46LOS_isVis_PtFromPts_VesStruct(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_pt0, double __pyx_v_pt1, double __pyx_v_pt2, PyArrayObject *__pyx_v_k, PyArrayObject *__pyx_v_pts, PyArrayObject *__pyx_v_VPoly, PyArrayObject *__pyx_v_VIn, PyObject *__pyx_v_Lim, PyObject *__pyx_v_LSPoly, PyObject *__pyx_v_LSLim, PyObject *__pyx_v_LSVIn, PyObject *__pyx_v_RMin, PyObject *__pyx_v_Forbid, PyObject *__pyx_v_EpsUz, PyObject *__pyx_v_EpsVz, PyObject *__pyx_v_EpsA, PyObject *__pyx_v_EpsB, PyObject *__pyx_v_EpsPlane, PyObject *__pyx_v_VType, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_C0 = NULL;
PyObject *__pyx_v_msg = NULL;
PyObject *__pyx_v_C1 = NULL;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_npts;
PyArrayObject *__pyx_v_Ds = 0;
PyArrayObject *__pyx_v_dus = 0;
PyObject *__pyx_v_POut = NULL;
PyObject *__pyx_v_kPOut = NULL;
PyObject *__pyx_v_lslim = NULL;
PyObject *__pyx_v_pIn = NULL;
PyObject *__pyx_v_kpin = NULL;
PyObject *__pyx_v_indNoNan = NULL;
PyObject *__pyx_v_indout = NULL;
PyObject *__pyx_v_ind = NULL;
PyObject *__pyx_v_indok = NULL;
PyObject *__pyx_v_pp = NULL;
PyObject *__pyx_v_ee = NULL;
PyObject *__pyx_v_ll = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Ds;
__Pyx_Buffer __pyx_pybuffer_Ds;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VIn;
__Pyx_Buffer __pyx_pybuffer_VIn;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPoly;
__Pyx_Buffer __pyx_pybuffer_VPoly;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dus;
__Pyx_Buffer __pyx_pybuffer_dus;
__Pyx_LocalBuf_ND __pyx_pybuffernd_k;
__Pyx_Buffer __pyx_pybuffer_k;
__Pyx_LocalBuf_ND __pyx_pybuffernd_pts;
__Pyx_Buffer __pyx_pybuffer_pts;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__63)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_isVis_PtFromPts_VesStruct", 0);
__Pyx_TraceCall("LOS_isVis_PtFromPts_VesStruct", __pyx_f[0], 1696, 0, __PYX_ERR(0, 1696, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_RMin);
__pyx_pybuffer_Ds.pybuffer.buf = NULL;
__pyx_pybuffer_Ds.refcount = 0;
__pyx_pybuffernd_Ds.data = NULL;
__pyx_pybuffernd_Ds.rcbuffer = &__pyx_pybuffer_Ds;
__pyx_pybuffer_dus.pybuffer.buf = NULL;
__pyx_pybuffer_dus.refcount = 0;
__pyx_pybuffernd_dus.data = NULL;
__pyx_pybuffernd_dus.rcbuffer = &__pyx_pybuffer_dus;
__pyx_pybuffer_k.pybuffer.buf = NULL;
__pyx_pybuffer_k.refcount = 0;
__pyx_pybuffernd_k.data = NULL;
__pyx_pybuffernd_k.rcbuffer = &__pyx_pybuffer_k;
__pyx_pybuffer_pts.pybuffer.buf = NULL;
__pyx_pybuffer_pts.refcount = 0;
__pyx_pybuffernd_pts.data = NULL;
__pyx_pybuffernd_pts.rcbuffer = &__pyx_pybuffer_pts;
__pyx_pybuffer_VPoly.pybuffer.buf = NULL;
__pyx_pybuffer_VPoly.refcount = 0;
__pyx_pybuffernd_VPoly.data = NULL;
__pyx_pybuffernd_VPoly.rcbuffer = &__pyx_pybuffer_VPoly;
__pyx_pybuffer_VIn.pybuffer.buf = NULL;
__pyx_pybuffer_VIn.refcount = 0;
__pyx_pybuffernd_VIn.data = NULL;
__pyx_pybuffernd_VIn.rcbuffer = &__pyx_pybuffer_VIn;
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_k.rcbuffer->pybuffer, (PyObject*)__pyx_v_k, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_pybuffernd_k.diminfo[0].strides = __pyx_pybuffernd_k.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_k.diminfo[0].shape = __pyx_pybuffernd_k.rcbuffer->pybuffer.shape[0];
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1];
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer, (PyObject*)__pyx_v_VPoly, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_pybuffernd_VPoly.diminfo[0].strides = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPoly.diminfo[0].shape = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPoly.diminfo[1].strides = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPoly.diminfo[1].shape = __pyx_pybuffernd_VPoly.rcbuffer->pybuffer.shape[1];
{
__Pyx_BufFmt_StackElem __pyx_stack[1];
if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer, (PyObject*)__pyx_v_VIn, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_pybuffernd_VIn.diminfo[0].strides = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VIn.diminfo[0].shape = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VIn.diminfo[1].strides = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VIn.diminfo[1].shape = __pyx_pybuffernd_VIn.rcbuffer->pybuffer.shape[1];
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_18);
__PYX_XDEC_MEMVIEW(&__pyx_t_19, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_20, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_21, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_22, 1);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ds.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dus.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_k.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.LOS_isVis_PtFromPts_VesStruct", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ds.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VIn.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPoly.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dus.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_k.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_C0);
__Pyx_XDECREF(__pyx_v_msg);
__Pyx_XDECREF(__pyx_v_C1);
__Pyx_XDECREF((PyObject *)__pyx_v_Ds);
__Pyx_XDECREF((PyObject *)__pyx_v_dus);
__Pyx_XDECREF(__pyx_v_POut);
__Pyx_XDECREF(__pyx_v_kPOut);
__Pyx_XDECREF(__pyx_v_lslim);
__Pyx_XDECREF(__pyx_v_pIn);
__Pyx_XDECREF(__pyx_v_kpin);
__Pyx_XDECREF(__pyx_v_indNoNan);
__Pyx_XDECREF(__pyx_v_indout);
__Pyx_XDECREF(__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_indok);
__Pyx_XDECREF(__pyx_v_pp);
__Pyx_XDECREF(__pyx_v_ee);
__Pyx_XDECREF(__pyx_v_ll);
__Pyx_XDECREF(__pyx_v_RMin);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__138 = PyTuple_Pack(40, __pyx_n_s_pt0, __pyx_n_s_pt1, __pyx_n_s_pt2, __pyx_n_s_k, __pyx_n_s_pts, __pyx_n_s_VPoly, __pyx_n_s_VIn, __pyx_n_s_Lim, __pyx_n_s_LSPoly, __pyx_n_s_LSLim, __pyx_n_s_LSVIn, __pyx_n_s_RMin, __pyx_n_s_Forbid, __pyx_n_s_EpsUz, __pyx_n_s_EpsVz, __pyx_n_s_EpsA, __pyx_n_s_EpsB, __pyx_n_s_EpsPlane, __pyx_n_s_VType, __pyx_n_s_Test, __pyx_n_s_C0, __pyx_n_s_msg, __pyx_n_s_C1, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_npts, __pyx_n_s_Ds, __pyx_n_s_dus, __pyx_n_s_POut, __pyx_n_s_kPOut, __pyx_n_s_lslim, __pyx_n_s_pIn, __pyx_n_s_kpin, __pyx_n_s_indNoNan, __pyx_n_s_indout, __pyx_n_s_ind, __pyx_n_s_indok, __pyx_n_s_pp, __pyx_n_s_ee, __pyx_n_s_ll); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 1696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__138);
__Pyx_GIVEREF(__pyx_tuple__138);
__pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(20, 0, 40, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 1696, __pyx_L1_error)
/* … */
__Pyx_TraceLine(1696,0,__PYX_ERR(0, 1696, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_47LOS_isVis_PtFromPts_VesStruct, 0, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__139);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct, __pyx_t_2) < 0) __PYX_ERR(0, 1696, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__139 = PyTuple_Pack(13, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_True), ((PyObject*)__pyx_float_1_eneg_6), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_float_1_eneg_9), ((PyObject*)__pyx_n_s_Tor), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 1696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__139);
__Pyx_GIVEREF(__pyx_tuple__139);
1697: cnp.ndarray[double, ndim=1,mode='c'] k,
1698: cnp.ndarray[double, ndim=2,mode='c'] pts,
1699: cnp.ndarray[double, ndim=2,mode='c'] VPoly,
1700: cnp.ndarray[double, ndim=2,mode='c'] VIn,
+1701: Lim=None, LSPoly=None, LSLim=None, LSVIn=None,
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
values[9] = ((PyObject *)((PyObject *)Py_None));
values[10] = ((PyObject *)((PyObject *)Py_None));
+1702: RMin=None, Forbid=True, EpsUz=1.e-6,
values[11] = ((PyObject *)((PyObject *)Py_None));
values[12] = ((PyObject *)((PyObject *)Py_True));
values[13] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_6));
values[14] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[15] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[16] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[17] = ((PyObject *)((PyObject*)__pyx_float_1_eneg_9));
values[18] = ((PyObject *)((PyObject*)__pyx_n_s_Tor));
1703: EpsVz=1.e-9, EpsA=1.e-9, EpsB=1.e-9,
+1704: EpsPlane=1.e-9, VType='Tor', Test=True):
values[19] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 20: values[19] = PyTuple_GET_ITEM(__pyx_args, 19);
CYTHON_FALLTHROUGH;
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pt0)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pt1)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 1); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pt2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 2); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 3); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pts)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 4); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 5); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, 6); __PYX_ERR(0, 1696, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Lim);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSPoly);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSLim);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSVIn);
if (value) { values[10] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 11:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RMin);
if (value) { values[11] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 12:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Forbid);
if (value) { values[12] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 13:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsUz);
if (value) { values[13] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 14:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsVz);
if (value) { values[14] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 15:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsA);
if (value) { values[15] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 16:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsB);
if (value) { values[16] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 17:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_EpsPlane);
if (value) { values[17] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 18:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VType);
if (value) { values[18] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 19:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[19] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "LOS_isVis_PtFromPts_VesStruct") < 0)) __PYX_ERR(0, 1696, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 20: values[19] = PyTuple_GET_ITEM(__pyx_args, 19);
CYTHON_FALLTHROUGH;
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_pt0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_pt0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1696, __pyx_L3_error)
__pyx_v_pt1 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_pt1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1696, __pyx_L3_error)
__pyx_v_pt2 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pt2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1696, __pyx_L3_error)
__pyx_v_k = ((PyArrayObject *)values[3]);
__pyx_v_pts = ((PyArrayObject *)values[4]);
__pyx_v_VPoly = ((PyArrayObject *)values[5]);
__pyx_v_VIn = ((PyArrayObject *)values[6]);
__pyx_v_Lim = values[7];
__pyx_v_LSPoly = values[8];
__pyx_v_LSLim = values[9];
__pyx_v_LSVIn = values[10];
__pyx_v_RMin = values[11];
__pyx_v_Forbid = values[12];
__pyx_v_EpsUz = values[13];
__pyx_v_EpsVz = values[14];
__pyx_v_EpsA = values[15];
__pyx_v_EpsB = values[16];
__pyx_v_EpsPlane = values[17];
__pyx_v_VType = values[18];
__pyx_v_Test = values[19];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("LOS_isVis_PtFromPts_VesStruct", 0, 7, 20, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1696, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.LOS_isVis_PtFromPts_VesStruct", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_k), __pyx_ptype_5numpy_ndarray, 1, "k", 0))) __PYX_ERR(0, 1697, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pts), __pyx_ptype_5numpy_ndarray, 1, "pts", 0))) __PYX_ERR(0, 1698, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_VPoly), __pyx_ptype_5numpy_ndarray, 1, "VPoly", 0))) __PYX_ERR(0, 1699, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_VIn), __pyx_ptype_5numpy_ndarray, 1, "VIn", 0))) __PYX_ERR(0, 1700, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_46LOS_isVis_PtFromPts_VesStruct(__pyx_self, __pyx_v_pt0, __pyx_v_pt1, __pyx_v_pt2, __pyx_v_k, __pyx_v_pts, __pyx_v_VPoly, __pyx_v_VIn, __pyx_v_Lim, __pyx_v_LSPoly, __pyx_v_LSLim, __pyx_v_LSVIn, __pyx_v_RMin, __pyx_v_Forbid, __pyx_v_EpsUz, __pyx_v_EpsVz, __pyx_v_EpsA, __pyx_v_EpsB, __pyx_v_EpsPlane, __pyx_v_VType, __pyx_v_Test);
1705: """ Return an array of bool indices indicating whether each point in pts is
1706: visible from Pt considering vignetting
1707: """
+1708: if Test:
__Pyx_TraceLine(1708,0,__PYX_ERR(0, 1708, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1708, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+1709: C0 = (VPoly.shape[0]==2 and VIn.shape[0]==2
__Pyx_TraceLine(1709,0,__PYX_ERR(0, 1709, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_VPoly->dimensions[0]) == 2); if (__pyx_t_1) { } else { __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L4_bool_binop_done; } /* … */ __Pyx_TraceLine(1710,0,__PYX_ERR(0, 1710, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_VIn->dimensions[0]) == 2); if (__pyx_t_1) { } else { /* … */ __Pyx_TraceLine(1709,0,__PYX_ERR(0, 1709, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L4_bool_binop_done; }
+1710: and VIn.shape[1]==VPoly.shape[1]-1)
__Pyx_TraceLine(1710,0,__PYX_ERR(0, 1710, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_VIn->dimensions[1]) == ((__pyx_v_VPoly->dimensions[1]) - 1)); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; __pyx_t_3 = 0; __pyx_L4_bool_binop_done:; __pyx_v_C0 = __pyx_t_2; __pyx_t_2 = 0;
+1711: msg = "Args VPoly and VIn must be of the same shape (2,NS) !"
__Pyx_TraceLine(1711,0,__PYX_ERR(0, 1711, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_Args_VPoly_and_VIn_must_be_of_th); __pyx_v_msg = __pyx_kp_s_Args_VPoly_and_VIn_must_be_of_th;
+1712: assert C0, msg
__Pyx_TraceLine(1712,0,__PYX_ERR(0, 1712, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1712, __pyx_L1_error) if (unlikely(!__pyx_t_1)) { __pyx_t_2 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 1712, __pyx_L1_error) } } #endif
+1713: C0 = all([pp is None for pp in [LSPoly,LSLim,LSVIn]])
__Pyx_TraceLine(1713,0,__PYX_ERR(0, 1713, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_LSPoly); __Pyx_GIVEREF(__pyx_v_LSPoly); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_LSPoly); __Pyx_INCREF(__pyx_v_LSLim); __Pyx_GIVEREF(__pyx_v_LSLim); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_LSLim); __Pyx_INCREF(__pyx_v_LSVIn); __Pyx_GIVEREF(__pyx_v_LSVIn); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_LSVIn); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (__pyx_t_5 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1713, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = (__pyx_v_pp == Py_None); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_C0, __pyx_t_4); __pyx_t_4 = 0;
+1714: C1 = all([hasattr(pp,'__iter__') and len(pp)==len(LSPoly)
__Pyx_TraceLine(1714,0,__PYX_ERR(0, 1714, __pyx_L1_error)) __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); /* … */ __Pyx_TraceLine(1714,0,__PYX_ERR(0, 1714, __pyx_L1_error)) __pyx_t_1 = __Pyx_HasAttr(__pyx_v_pp, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1714, __pyx_L1_error) if (__pyx_t_1) { } else { __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L11_bool_binop_done; } __pyx_t_7 = PyObject_Length(__pyx_v_pp); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1714, __pyx_L1_error) __pyx_t_8 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1714, __pyx_L1_error) __pyx_t_1 = (__pyx_t_7 == __pyx_t_8); __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; __pyx_L11_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __Pyx_TraceLine(1714,0,__PYX_ERR(0, 1714, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_C1 = __pyx_t_3; __pyx_t_3 = 0;
+1715: for pp in [LSPoly,LSLim,LSVIn]])
__Pyx_TraceLine(1715,0,__PYX_ERR(0, 1715, __pyx_L1_error)) __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_LSPoly); __Pyx_GIVEREF(__pyx_v_LSPoly); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_LSPoly); __Pyx_INCREF(__pyx_v_LSLim); __Pyx_GIVEREF(__pyx_v_LSLim); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_LSLim); __Pyx_INCREF(__pyx_v_LSVIn); __Pyx_GIVEREF(__pyx_v_LSVIn); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_LSVIn); __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (__pyx_t_5 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1715, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_2); __pyx_t_2 = 0; /* … */ __Pyx_TraceLine(1715,0,__PYX_ERR(0, 1715, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1716: msg = "Args LSPoly,LSLim,LSVIn must be None or lists of same len() !"
__Pyx_TraceLine(1716,0,__PYX_ERR(0, 1716, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_Args_LSPoly_LSLim_LSVIn_must_be); __Pyx_DECREF_SET(__pyx_v_msg, __pyx_kp_s_Args_LSPoly_LSLim_LSVIn_must_be);
+1717: assert C0 or C1, msg
__Pyx_TraceLine(1717,0,__PYX_ERR(0, 1717, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1717, __pyx_L1_error) if (!__pyx_t_9) { } else { __pyx_t_1 = __pyx_t_9; goto __pyx_L13_bool_binop_done; } __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_C1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1717, __pyx_L1_error) __pyx_t_1 = __pyx_t_9; __pyx_L13_bool_binop_done:; if (unlikely(!__pyx_t_1)) { __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 1717, __pyx_L1_error) } } #endif
+1718: C0 = RMin is None or type(RMin) in [float,int,np.float64,np.int64]
__Pyx_TraceLine(1718,0,__PYX_ERR(0, 1718, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_RMin == Py_None); if (!__pyx_t_1) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L15_bool_binop_done; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_RMin))); __pyx_t_4 = ((PyObject *)Py_TYPE(__pyx_v_RMin)); __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_9) { } else { __pyx_t_1 = __pyx_t_9; goto __pyx_L17_bool_binop_done; } __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_9) { } else { __pyx_t_1 = __pyx_t_9; goto __pyx_L17_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_4), __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_9) { } else { __pyx_t_1 = __pyx_t_9; goto __pyx_L17_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_t_4), __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_9; __pyx_L17_bool_binop_done:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __pyx_t_1; __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __pyx_t_4; __pyx_t_4 = 0; __pyx_L15_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_C0, __pyx_t_3); __pyx_t_3 = 0;
+1719: assert msg, "Arg RMin must be None or a float !"
__Pyx_TraceLine(1719,0,__PYX_ERR(0, 1719, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_msg); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1719, __pyx_L1_error) if (unlikely(!__pyx_t_9)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_RMin_must_be_None_or_a_float); __PYX_ERR(0, 1719, __pyx_L1_error) } } #endif
+1720: assert type(Forbid) is bool, "Arg Forbid must be a bool !"
__Pyx_TraceLine(1720,0,__PYX_ERR(0, 1720, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_9 = (((PyObject *)Py_TYPE(__pyx_v_Forbid)) == ((PyObject *)__pyx_ptype_7cpython_4bool_bool)); if (unlikely(!(__pyx_t_9 != 0))) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_Forbid_must_be_a_bool); __PYX_ERR(0, 1720, __pyx_L1_error) } } #endif
+1721: C0 = all([type(ee) in [int,float,np.int64,np.float64] and ee<1.e-4
__Pyx_TraceLine(1721,0,__PYX_ERR(0, 1721, __pyx_L1_error)) __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __Pyx_TraceLine(1721,0,__PYX_ERR(0, 1721, __pyx_L1_error)) __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_ee))); __pyx_t_6 = ((PyObject *)Py_TYPE(__pyx_v_ee)); __pyx_t_10 = PyObject_RichCompare(((PyObject *)__pyx_t_6), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!__pyx_t_1) { } else { __pyx_t_9 = __pyx_t_1; goto __pyx_L25_bool_binop_done; } __pyx_t_10 = PyObject_RichCompare(((PyObject *)__pyx_t_6), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!__pyx_t_1) { } else { __pyx_t_9 = __pyx_t_1; goto __pyx_L25_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_int64); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyObject_RichCompare(((PyObject *)__pyx_t_6), __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (!__pyx_t_1) { } else { __pyx_t_9 = __pyx_t_1; goto __pyx_L25_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyObject_RichCompare(((PyObject *)__pyx_t_6), __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_9 = __pyx_t_1; __pyx_L25_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_9; if (__pyx_t_1) { } else { __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L23_bool_binop_done; } __pyx_t_6 = PyObject_RichCompare(__pyx_v_ee, __pyx_float_1_eneg_4, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = __pyx_t_6; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_L23_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __Pyx_TraceLine(1721,0,__PYX_ERR(0, 1721, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_C0, __pyx_t_2); __pyx_t_2 = 0;
+1722: for ee in [EpsUz,EpsVz,EpsA,EpsB,EpsPlane]])
__Pyx_TraceLine(1722,0,__PYX_ERR(0, 1722, __pyx_L1_error)) __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_EpsUz); __Pyx_GIVEREF(__pyx_v_EpsUz); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_EpsUz); __Pyx_INCREF(__pyx_v_EpsVz); __Pyx_GIVEREF(__pyx_v_EpsVz); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_EpsVz); __Pyx_INCREF(__pyx_v_EpsA); __Pyx_GIVEREF(__pyx_v_EpsA); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_EpsA); __Pyx_INCREF(__pyx_v_EpsB); __Pyx_GIVEREF(__pyx_v_EpsB); PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_EpsB); __Pyx_INCREF(__pyx_v_EpsPlane); __Pyx_GIVEREF(__pyx_v_EpsPlane); PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_v_EpsPlane); __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (__pyx_t_5 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1722, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_ee, __pyx_t_4); __pyx_t_4 = 0; /* … */ __Pyx_TraceLine(1722,0,__PYX_ERR(0, 1722, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1723: assert C0, "Args [EpsUz,EpsVz,EpsA,EpsB] must be floats < 1.e-4 !"
__Pyx_TraceLine(1723,0,__PYX_ERR(0, 1723, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1723, __pyx_L1_error) if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_EpsUz_EpsVz_EpsA_EpsB_must); __PYX_ERR(0, 1723, __pyx_L1_error) } } #endif
+1724: C0 = type(VType) is str and VType.lower() in ['tor','lin']
__Pyx_TraceLine(1724,0,__PYX_ERR(0, 1724, __pyx_L1_error)) __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_VType)) == ((PyObject *)(&PyString_Type))); if (__pyx_t_1) { } else { __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L29_bool_binop_done; } __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1724, __pyx_L1_error) if (!__pyx_t_9) { } else { __pyx_t_1 = __pyx_t_9; goto __pyx_L31_bool_binop_done; } __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_lin, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1724, __pyx_L1_error) __pyx_t_1 = __pyx_t_9; __pyx_L31_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = __pyx_t_1; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; __pyx_t_3 = 0; __pyx_L29_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_C0, __pyx_t_2); __pyx_t_2 = 0;
+1725: assert C0, "Arg VType must be a str in ['Tor','Lin'] !"
__Pyx_TraceLine(1725,0,__PYX_ERR(0, 1725, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1725, __pyx_L1_error) if (unlikely(!__pyx_t_9)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_VType_must_be_a_str_in_Tor_L); __PYX_ERR(0, 1725, __pyx_L1_error) } } #endif
1726:
+1727: cdef int ii, jj, npts=pts.shape[1]
__Pyx_TraceLine(1727,0,__PYX_ERR(0, 1727, __pyx_L1_error)) __pyx_v_npts = (__pyx_v_pts->dimensions[1]);
1728: cdef cnp.ndarray[double, ndim=2, mode='c'] Ds, dus
+1729: Ds = np.tile(np.r_[pt0,pt1,pt2], (npts,1)).T
__Pyx_TraceLine(1729,0,__PYX_ERR(0, 1729, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_r_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pt0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyFloat_FromDouble(__pyx_v_pt1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyFloat_FromDouble(__pyx_v_pt2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_11); __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_npts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_12); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_1); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_11, __pyx_t_6}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_11, __pyx_t_6}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_13, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_13, __pyx_t_6); __pyx_t_11 = 0; __pyx_t_6 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1729, __pyx_L1_error) __pyx_t_14 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Ds.rcbuffer->pybuffer); __pyx_t_13 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Ds.rcbuffer->pybuffer, (PyObject*)__pyx_t_14, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack); if (unlikely(__pyx_t_13 < 0)) { PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Ds.rcbuffer->pybuffer, (PyObject*)__pyx_v_Ds, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; } __pyx_pybuffernd_Ds.diminfo[0].strides = __pyx_pybuffernd_Ds.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Ds.diminfo[0].shape = __pyx_pybuffernd_Ds.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_Ds.diminfo[1].strides = __pyx_pybuffernd_Ds.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_Ds.diminfo[1].shape = __pyx_pybuffernd_Ds.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1729, __pyx_L1_error) } __pyx_t_14 = 0; __pyx_v_Ds = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1730: dus = (pts-Ds)/k
__Pyx_TraceLine(1730,0,__PYX_ERR(0, 1730, __pyx_L1_error)) __pyx_t_4 = PyNumber_Subtract(((PyObject *)__pyx_v_pts), ((PyObject *)__pyx_v_Ds)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_4, ((PyObject *)__pyx_v_k)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1730, __pyx_L1_error) __pyx_t_14 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dus.rcbuffer->pybuffer); __pyx_t_13 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dus.rcbuffer->pybuffer, (PyObject*)__pyx_t_14, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack); if (unlikely(__pyx_t_13 < 0)) { PyErr_Fetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dus.rcbuffer->pybuffer, (PyObject*)__pyx_v_dus, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_17); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_17, __pyx_t_16, __pyx_t_15); } __pyx_t_17 = __pyx_t_16 = __pyx_t_15 = 0; } __pyx_pybuffernd_dus.diminfo[0].strides = __pyx_pybuffernd_dus.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dus.diminfo[0].shape = __pyx_pybuffernd_dus.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dus.diminfo[1].strides = __pyx_pybuffernd_dus.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dus.diminfo[1].shape = __pyx_pybuffernd_dus.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1730, __pyx_L1_error) } __pyx_t_14 = 0; __pyx_v_dus = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
1731:
+1732: if VType.lower()=='tor':
__Pyx_TraceLine(1732,0,__PYX_ERR(0, 1732, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_VType, __pyx_n_s_lower); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1732, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L33; }
1733: # RMin is necessary to avoid looking on the other side of the tokamak
+1734: if RMin is None:
__Pyx_TraceLine(1734,0,__PYX_ERR(0, 1734, __pyx_L1_error)) __pyx_t_9 = (__pyx_v_RMin == Py_None); __pyx_t_1 = (__pyx_t_9 != 0); if (__pyx_t_1) { /* … */ }
+1735: RMin = 0.95*min(np.min(VPoly[0,:]),
__Pyx_TraceLine(1735,0,__PYX_ERR(0, 1735, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_min); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_VPoly), __pyx_tuple__39); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_10 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_18, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_4); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* … */ __Pyx_TraceLine(1735,0,__PYX_ERR(0, 1735, __pyx_L1_error)) __pyx_t_2 = PyNumber_Multiply(__pyx_float_0_95, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_RMin, __pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+1736: np.min(np.hypot(Ds[0,:],Ds[1,:])))
__Pyx_TraceLine(1736,0,__PYX_ERR(0, 1736, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_min); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_hypot); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Ds), __pyx_tuple__39); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_12 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Ds), __pyx_tuple__45); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_6, __pyx_t_12}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_6, __pyx_t_12}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif { __pyx_t_18 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_13, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_13, __pyx_t_12); __pyx_t_6 = 0; __pyx_t_12 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_4); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); /* … */ __Pyx_TraceLine(1736,0,__PYX_ERR(0, 1736, __pyx_L1_error)) __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1736, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_2); __pyx_t_11 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1737:
1738: # Main function to compute intersections with Vessel
+1739: POut = Calc_LOS_PInOut_Tor(Ds, dus, VPoly, VIn, Lim=Lim, Forbid=Forbid,
__Pyx_TraceLine(1739,0,__PYX_ERR(0, 1739, __pyx_L1_error)) __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_Ds), PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1739, __pyx_L1_error) __pyx_t_20 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_dus), PyBUF_WRITABLE); if (unlikely(!__pyx_t_20.memview)) __PYX_ERR(0, 1739, __pyx_L1_error) __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPoly), PyBUF_WRITABLE); if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 1739, __pyx_L1_error) __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VIn), PyBUF_WRITABLE); if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 1739, __pyx_L1_error) if (!(likely(((__pyx_v_Forbid) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_Forbid, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 1739, __pyx_L1_error) /* … */ __Pyx_TraceLine(1739,0,__PYX_ERR(0, 1739, __pyx_L1_error)) __pyx_t_28.__pyx_n = 8; __pyx_t_28.Lim = __pyx_v_Lim; __pyx_t_28.Forbid = ((PyBoolObject *)__pyx_v_Forbid); __pyx_t_28.RMin = __pyx_v_RMin; __pyx_t_28.EpsUz = __pyx_t_23; __pyx_t_28.EpsVz = __pyx_t_24; __pyx_t_28.EpsA = __pyx_t_25; __pyx_t_28.EpsB = __pyx_t_26; __pyx_t_28.EpsPlane = __pyx_t_27; __pyx_t_2 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor(__pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, &__pyx_t_28); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1); __pyx_t_20.memview = NULL; __pyx_t_20.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_21, 1); __pyx_t_21.memview = NULL; __pyx_t_21.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_22, 1); __pyx_t_22.memview = NULL; __pyx_t_22.data = NULL;
+1740: RMin=RMin, EpsUz=EpsUz, EpsVz=EpsVz,
__Pyx_TraceLine(1740,0,__PYX_ERR(0, 1740, __pyx_L1_error)) __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsUz); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1740, __pyx_L1_error) __pyx_t_24 = __pyx_PyFloat_AsDouble(__pyx_v_EpsVz); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1740, __pyx_L1_error)
+1741: EpsA=EpsA, EpsB=EpsB, EpsPlane=EpsPlane)[1]
__Pyx_TraceLine(1741,0,__PYX_ERR(0, 1741, __pyx_L1_error)) __pyx_t_25 = __pyx_PyFloat_AsDouble(__pyx_v_EpsA); if (unlikely((__pyx_t_25 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1741, __pyx_L1_error) __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_v_EpsB); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1741, __pyx_L1_error) __pyx_t_27 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_27 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1741, __pyx_L1_error) /* … */ __Pyx_TraceLine(1741,0,__PYX_ERR(0, 1741, __pyx_L1_error)) __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_POut = __pyx_t_11; __pyx_t_11 = 0;
1742:
1743: # k = coordinate (in m) along the line from D
+1744: kPOut = np.sqrt(np.sum((POut-Ds)**2,axis=0))
__Pyx_TraceLine(1744,0,__PYX_ERR(0, 1744, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_POut, ((PyObject *)__pyx_v_Ds)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_18 = PyNumber_Power(__pyx_t_2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1744, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_11 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_18, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kPOut = __pyx_t_11; __pyx_t_11 = 0;
+1745: assert np.allclose(kPOut,np.sum((POut-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1745,0,__PYX_ERR(0, 1745, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_allclose); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sum); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_v_POut, ((PyObject *)__pyx_v_Ds)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = PyNumber_Multiply(__pyx_t_11, ((PyObject *)__pyx_v_dus)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1745, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, __pyx_t_18); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_INCREF(__pyx_v_kPOut); __Pyx_GIVEREF(__pyx_v_kPOut); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_v_kPOut); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1745, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_18, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_1)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1745, __pyx_L1_error) } } #endif
1746: # Structural optimzation : do everything in one big for loop and only
1747: # keep the relevant points (to save memory)
+1748: if LSPoly is not None:
__Pyx_TraceLine(1748,0,__PYX_ERR(0, 1748, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_LSPoly != Py_None); __pyx_t_9 = (__pyx_t_1 != 0); if (__pyx_t_9) { /* … */ }
+1749: for ii in range(0,len(LSPoly)):
__Pyx_TraceLine(1749,0,__PYX_ERR(0, 1749, __pyx_L1_error)) __pyx_t_5 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1749, __pyx_L1_error) __pyx_t_8 = __pyx_t_5; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_8; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+1750: C0 = not all([hasattr(ll,'__iter__') for ll in LSLim[ii]])
__Pyx_TraceLine(1750,0,__PYX_ERR(0, 1750, __pyx_L1_error)) __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_18 = __pyx_t_2; __Pyx_INCREF(__pyx_t_18); __pyx_t_7 = 0; __pyx_t_29 = NULL; } else { __pyx_t_7 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_29 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1750, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_29)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1750, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_18, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1750, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_18, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_29(__pyx_t_18); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1750, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_ll, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __Pyx_HasAttr(__pyx_v_ll, __pyx_n_s_iter); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 1750, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_ListComp_Append(__pyx_t_11, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_11); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyBool_FromLong((!__pyx_t_9)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_XDECREF_SET(__pyx_v_C0, __pyx_t_18); __pyx_t_18 = 0;
+1751: if LSLim[ii] is None or C0:
__Pyx_TraceLine(1751,0,__PYX_ERR(0, 1751, __pyx_L1_error)) __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_1 = (__pyx_t_18 == Py_None); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_30 = (__pyx_t_1 != 0); if (!__pyx_t_30) { } else { __pyx_t_9 = __pyx_t_30; goto __pyx_L41_bool_binop_done; } __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 1751, __pyx_L1_error) __pyx_t_9 = __pyx_t_30; __pyx_L41_bool_binop_done:; if (__pyx_t_9) { /* … */ goto __pyx_L40; }
+1752: lslim = [LSLim[ii]]
__Pyx_TraceLine(1752,0,__PYX_ERR(0, 1752, __pyx_L1_error)) __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_11); __pyx_t_11 = 0;
1753: else:
+1754: lslim = LSLim[ii]
__Pyx_TraceLine(1754,0,__PYX_ERR(0, 1754, __pyx_L1_error)) /*else*/ { __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_11); __pyx_t_11 = 0; } __pyx_L40:;
+1755: for jj in range(0,len(lslim)):
__Pyx_TraceLine(1755,0,__PYX_ERR(0, 1755, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_v_lslim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1755, __pyx_L1_error) __pyx_t_31 = __pyx_t_7; for (__pyx_t_32 = 0; __pyx_t_32 < __pyx_t_31; __pyx_t_32+=1) { __pyx_v_jj = __pyx_t_32;
+1756: pIn = Calc_LOS_PInOut_Tor(Ds, dus, LSPoly[ii], LSVIn[ii],
__Pyx_TraceLine(1756,0,__PYX_ERR(0, 1756, __pyx_L1_error)) __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_Ds), PyBUF_WRITABLE); if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 1756, __pyx_L1_error) __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_dus), PyBUF_WRITABLE); if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 1756, __pyx_L1_error) __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_LSPoly, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_20 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_11, PyBUF_WRITABLE); if (unlikely(!__pyx_t_20.memview)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_LSVIn, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_11, PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* … */ __Pyx_TraceLine(1756,0,__PYX_ERR(0, 1756, __pyx_L1_error)) __pyx_t_28.__pyx_n = 8; __pyx_t_28.Lim = __pyx_t_11; __pyx_t_28.Forbid = ((PyBoolObject *)__pyx_v_Forbid); __pyx_t_28.RMin = __pyx_v_RMin; __pyx_t_28.EpsUz = __pyx_t_27; __pyx_t_28.EpsVz = __pyx_t_26; __pyx_t_28.EpsA = __pyx_t_25; __pyx_t_28.EpsB = __pyx_t_24; __pyx_t_28.EpsPlane = __pyx_t_23; __pyx_t_18 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor(__pyx_t_22, __pyx_t_21, __pyx_t_20, __pyx_t_19, &__pyx_t_28); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __PYX_XDEC_MEMVIEW(&__pyx_t_22, 1); __pyx_t_22.memview = NULL; __pyx_t_22.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_21, 1); __pyx_t_21.memview = NULL; __pyx_t_21.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1); __pyx_t_20.memview = NULL; __pyx_t_20.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1757: Lim=lslim[jj], Forbid=Forbid,
__Pyx_TraceLine(1757,0,__PYX_ERR(0, 1757, __pyx_L1_error)) __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_lslim, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (!(likely(((__pyx_v_Forbid) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_Forbid, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 1757, __pyx_L1_error)
+1758: RMin=RMin, EpsUz=EpsUz,
__Pyx_TraceLine(1758,0,__PYX_ERR(0, 1758, __pyx_L1_error)) __pyx_t_27 = __pyx_PyFloat_AsDouble(__pyx_v_EpsUz); if (unlikely((__pyx_t_27 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1758, __pyx_L1_error)
+1759: EpsVz=EpsVz, EpsA=EpsA, EpsB=EpsB,
__Pyx_TraceLine(1759,0,__PYX_ERR(0, 1759, __pyx_L1_error)) __pyx_t_26 = __pyx_PyFloat_AsDouble(__pyx_v_EpsVz); if (unlikely((__pyx_t_26 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1759, __pyx_L1_error) __pyx_t_25 = __pyx_PyFloat_AsDouble(__pyx_v_EpsA); if (unlikely((__pyx_t_25 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1759, __pyx_L1_error) __pyx_t_24 = __pyx_PyFloat_AsDouble(__pyx_v_EpsB); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1759, __pyx_L1_error)
+1760: EpsPlane=EpsPlane)[0]
__Pyx_TraceLine(1760,0,__PYX_ERR(0, 1760, __pyx_L1_error)) __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1760, __pyx_L1_error) /* … */ __Pyx_TraceLine(1760,0,__PYX_ERR(0, 1760, __pyx_L1_error)) __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_18, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_pIn, __pyx_t_11); __pyx_t_11 = 0;
+1761: kpin = np.sqrt(np.sum((Ds-pIn)**2,axis=0))
__Pyx_TraceLine(1761,0,__PYX_ERR(0, 1761, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_sum); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Subtract(((PyObject *)__pyx_v_Ds), __pyx_v_pIn); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = PyNumber_Power(__pyx_t_18, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1761, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_18, __pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_12, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_kpin, __pyx_t_11); __pyx_t_11 = 0;
+1762: indNoNan = (~np.isnan(kpin)) & (~np.isnan(kPOut))
__Pyx_TraceLine(1762,0,__PYX_ERR(0, 1762, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_11 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Invert(__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_2, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Invert(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_And(__pyx_t_4, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_indNoNan, __pyx_t_11); __pyx_t_11 = 0;
+1763: indout = np.zeros((npts,),dtype=bool)
__Pyx_TraceLine(1763,0,__PYX_ERR(0, 1763, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_npts); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1763, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_indout, __pyx_t_2); __pyx_t_2 = 0;
+1764: indout[indNoNan] = kpin[indNoNan]<kPOut[indNoNan]
__Pyx_TraceLine(1764,0,__PYX_ERR(0, 1764, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indNoNan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_kPOut, __pyx_v_indNoNan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_v_indNoNan, __pyx_t_11) < 0)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1765: indout[(~np.isnan(kpin)) & np.isnan(kPOut)] = True
__Pyx_TraceLine(1765,0,__PYX_ERR(0, 1765, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isnan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_11 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Invert(__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isnan); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_11 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_4, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_And(__pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_t_12, Py_True) < 0)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1766: if np.any(indout):
__Pyx_TraceLine(1766,0,__PYX_ERR(0, 1766, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_11, __pyx_v_indout) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_indout); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_9) { /* … */ } } }
+1767: kPOut[indout] = kpin[indout]
__Pyx_TraceLine(1767,0,__PYX_ERR(0, 1767, __pyx_L1_error)) __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indout); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_v_kPOut, __pyx_v_indout, __pyx_t_12) < 0)) __PYX_ERR(0, 1767, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
1768: else:
+1769: POut = Calc_LOS_PInOut_Lin(Ds, dus, VPoly, VIn, Lim, EpsPlane=EpsPlane)[1]
__Pyx_TraceLine(1769,0,__PYX_ERR(0, 1769, __pyx_L1_error)) /*else*/ { __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_Ds), PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1769, __pyx_L1_error) __pyx_t_20 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_dus), PyBUF_WRITABLE); if (unlikely(!__pyx_t_20.memview)) __PYX_ERR(0, 1769, __pyx_L1_error) __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPoly), PyBUF_WRITABLE); if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 1769, __pyx_L1_error) __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VIn), PyBUF_WRITABLE); if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 1769, __pyx_L1_error) __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1769, __pyx_L1_error) __pyx_t_33.__pyx_n = 1; __pyx_t_33.EpsPlane = __pyx_t_23; __pyx_t_12 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin(__pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_v_Lim, &__pyx_t_33); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1); __pyx_t_20.memview = NULL; __pyx_t_20.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_21, 1); __pyx_t_21.memview = NULL; __pyx_t_21.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_22, 1); __pyx_t_22.memview = NULL; __pyx_t_22.data = NULL; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_12, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_POut = __pyx_t_2; __pyx_t_2 = 0;
+1770: kPOut = np.sqrt(np.sum((POut-Ds)**2,axis=0))
__Pyx_TraceLine(1770,0,__PYX_ERR(0, 1770, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_POut, ((PyObject *)__pyx_v_Ds)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_18 = PyNumber_Power(__pyx_t_12, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1770, __pyx_L1_error) __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, __pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_2 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_18, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_10); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_kPOut = __pyx_t_2; __pyx_t_2 = 0;
+1771: assert np.allclose(kPOut,np.sum((POut-Ds)*dus,axis=0),equal_nan=True)
__Pyx_TraceLine(1771,0,__PYX_ERR(0, 1771, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_allclose); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sum); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_POut, ((PyObject *)__pyx_v_Ds)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_18 = PyNumber_Multiply(__pyx_t_2, ((PyObject *)__pyx_v_dus)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1771, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_INCREF(__pyx_v_kPOut); __Pyx_GIVEREF(__pyx_v_kPOut); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_v_kPOut); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_equal_nan, Py_True) < 0) __PYX_ERR(0, 1771, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_18, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1771, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_9)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 1771, __pyx_L1_error) } } #endif
+1772: if LSPoly is not None:
__Pyx_TraceLine(1772,0,__PYX_ERR(0, 1772, __pyx_L1_error)) __pyx_t_9 = (__pyx_v_LSPoly != Py_None); __pyx_t_30 = (__pyx_t_9 != 0); if (__pyx_t_30) { /* … */ } } __pyx_L33:;
+1773: for ii in range(0,len(LSPoly)):
__Pyx_TraceLine(1773,0,__PYX_ERR(0, 1773, __pyx_L1_error)) __pyx_t_5 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1773, __pyx_L1_error) __pyx_t_8 = __pyx_t_5; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_8; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+1774: C0 = not all([hasattr(ll,'__iter__') for ll in LSLim[ii]])
__Pyx_TraceLine(1774,0,__PYX_ERR(0, 1774, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_18 = __pyx_t_12; __Pyx_INCREF(__pyx_t_18); __pyx_t_7 = 0; __pyx_t_29 = NULL; } else { __pyx_t_7 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_29 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1774, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_29)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_7); __Pyx_INCREF(__pyx_t_12); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1774, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_18, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_7); __Pyx_INCREF(__pyx_t_12); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1774, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_18, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_29(__pyx_t_18); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1774, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_ll, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_30 = __Pyx_HasAttr(__pyx_v_ll, __pyx_n_s_iter); if (unlikely(__pyx_t_30 == ((int)-1))) __PYX_ERR(0, 1774, __pyx_L1_error) __pyx_t_12 = __Pyx_PyBool_FromLong(__pyx_t_30); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyBool_FromLong((!__pyx_t_30)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_XDECREF_SET(__pyx_v_C0, __pyx_t_18); __pyx_t_18 = 0;
+1775: lslim = [LSLim[ii]] if C0 else LSLim[ii]
__Pyx_TraceLine(1775,0,__PYX_ERR(0, 1775, __pyx_L1_error)) __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 1775, __pyx_L1_error) if (__pyx_t_30) { __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = __pyx_t_12; __pyx_t_12 = 0; } else { __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_18 = __pyx_t_12; __pyx_t_12 = 0; } __Pyx_XDECREF_SET(__pyx_v_lslim, __pyx_t_18); __pyx_t_18 = 0;
+1776: for jj in range(0,len(lslim)):
__Pyx_TraceLine(1776,0,__PYX_ERR(0, 1776, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_v_lslim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1776, __pyx_L1_error) __pyx_t_31 = __pyx_t_7; for (__pyx_t_32 = 0; __pyx_t_32 < __pyx_t_31; __pyx_t_32+=1) { __pyx_v_jj = __pyx_t_32;
+1777: pIn = Calc_LOS_PInOut_Lin(Ds, dus, LSPoly[ii], LSVIn[ii],
__Pyx_TraceLine(1777,0,__PYX_ERR(0, 1777, __pyx_L1_error)) __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_Ds), PyBUF_WRITABLE); if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 1777, __pyx_L1_error) __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_dus), PyBUF_WRITABLE); if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 1777, __pyx_L1_error) __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_LSPoly, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_18, PyBUF_WRITABLE); if (unlikely(!__pyx_t_20.memview)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_LSVIn, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_t_18, PyBUF_WRITABLE); if (unlikely(!__pyx_t_19.memview)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; /* … */ __Pyx_TraceLine(1777,0,__PYX_ERR(0, 1777, __pyx_L1_error)) __pyx_t_33.__pyx_n = 1; __pyx_t_33.EpsPlane = __pyx_t_23; __pyx_t_12 = __pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin(__pyx_t_22, __pyx_t_21, __pyx_t_20, __pyx_t_19, __pyx_t_18, &__pyx_t_33); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __PYX_XDEC_MEMVIEW(&__pyx_t_22, 1); __pyx_t_22.memview = NULL; __pyx_t_22.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_21, 1); __pyx_t_21.memview = NULL; __pyx_t_21.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1); __pyx_t_20.memview = NULL; __pyx_t_20.data = NULL; __PYX_XDEC_MEMVIEW(&__pyx_t_19, 1); __pyx_t_19.memview = NULL; __pyx_t_19.data = NULL; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1778: lslim[jj], EpsPlane=EpsPlane)[0]
__Pyx_TraceLine(1778,0,__PYX_ERR(0, 1778, __pyx_L1_error)) __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_lslim, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_v_EpsPlane); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1778, __pyx_L1_error) /* … */ __Pyx_TraceLine(1778,0,__PYX_ERR(0, 1778, __pyx_L1_error)) __pyx_t_18 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_pIn, __pyx_t_18); __pyx_t_18 = 0;
+1779: kpin = np.sqrt(np.sum((Ds-pIn)**2,axis=0))
__Pyx_TraceLine(1779,0,__PYX_ERR(0, 1779, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_sum); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(((PyObject *)__pyx_v_Ds), __pyx_v_pIn); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = PyNumber_Power(__pyx_t_12, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 1779, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_18 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_kpin, __pyx_t_18); __pyx_t_18 = 0;
+1780: indNoNan = (~np.isnan(kpin)) & (~np.isnan(kPOut))
__Pyx_TraceLine(1780,0,__PYX_ERR(0, 1780, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_18 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Invert(__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isnan); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_18 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Invert(__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_And(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_indNoNan, __pyx_t_18); __pyx_t_18 = 0;
+1781: indout = np.zeros((npts,),dtype=bool)
__Pyx_TraceLine(1781,0,__PYX_ERR(0, 1781, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_zeros); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_npts); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1781, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_18, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_indout, __pyx_t_2); __pyx_t_2 = 0;
+1782: indout[indNoNan] = kpin[indNoNan]<kPOut[indNoNan]
__Pyx_TraceLine(1782,0,__PYX_ERR(0, 1782, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indNoNan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_kPOut, __pyx_v_indNoNan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_v_indNoNan, __pyx_t_18) < 0)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1783: indout[(~np.isnan(kpin)) & np.isnan(kPOut)] = True
__Pyx_TraceLine(1783,0,__PYX_ERR(0, 1783, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isnan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_18 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_kpin) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_kpin); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Invert(__pyx_t_18); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isnan); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_18 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_4, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_And(__pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(PyObject_SetItem(__pyx_v_indout, __pyx_t_10, Py_True) < 0)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1784: if np.any(indout):
__Pyx_TraceLine(1784,0,__PYX_ERR(0, 1784, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_10 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_18, __pyx_v_indout) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_indout); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_30) { /* … */ } } }
+1785: kPOut[indout] = kpin[indout]
__Pyx_TraceLine(1785,0,__PYX_ERR(0, 1785, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_kpin, __pyx_v_indout); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_v_kPOut, __pyx_v_indout, __pyx_t_10) < 0)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1786:
+1787: ind = np.zeros((npts,),dtype=bool)
__Pyx_TraceLine(1787,0,__PYX_ERR(0, 1787, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_npts); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_dtype, ((PyObject *)__pyx_ptype_7cpython_4bool_bool)) < 0) __PYX_ERR(0, 1787, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_ind = __pyx_t_4; __pyx_t_4 = 0;
+1788: indok = (~np.isnan(k)) & (~np.isnan(kPOut))
__Pyx_TraceLine(1788,0,__PYX_ERR(0, 1788, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_isnan); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_4 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_18, ((PyObject *)__pyx_v_k)) : __Pyx_PyObject_CallOneArg(__pyx_t_10, ((PyObject *)__pyx_v_k)); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Invert(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_isnan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_4 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_18, __pyx_v_kPOut) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_kPOut); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Invert(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_And(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_indok = __pyx_t_4; __pyx_t_4 = 0;
+1789: ind[indok] = k[indok]<kPOut[indok]
__Pyx_TraceLine(1789,0,__PYX_ERR(0, 1789, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_k), __pyx_v_indok); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_kPOut, __pyx_v_indok); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_ind, __pyx_v_indok, __pyx_t_10) < 0)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1790: return ind
__Pyx_TraceLine(1790,0,__PYX_ERR(0, 1790, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ind); __pyx_r = __pyx_v_ind; goto __pyx_L0;
1791:
1792:
1793:
1794:
1795: @cython.cdivision(True)
1796: @cython.wraparound(False)
1797: @cython.boundscheck(False)
+1798: cdef Calc_LOS_PInOut_Tor(double [:,::1] Ds, double [:,::1] us, double [:,::1] VPoly, double [:,::1] vIn, Lim=None,
static PyObject *__pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor(__Pyx_memviewslice __pyx_v_Ds, __Pyx_memviewslice __pyx_v_us, __Pyx_memviewslice __pyx_v_VPoly, __Pyx_memviewslice __pyx_v_vIn, struct __pyx_opt_args_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor *__pyx_optional_args) {
PyObject *__pyx_v_Lim = ((PyObject *)Py_None);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__PYX_XDEC_MEMVIEW(&__pyx_t_9, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_18);
__PYX_XDEC_MEMVIEW(&__pyx_t_280, 1);
__Pyx_XDECREF(__pyx_t_407);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Calc_LOS_PInOut_Tor", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF((PyObject *)__pyx_v_SIn_);
__Pyx_XDECREF((PyObject *)__pyx_v_SOut_);
__Pyx_XDECREF((PyObject *)__pyx_v_VPerp_In);
__Pyx_XDECREF((PyObject *)__pyx_v_VPerp_Out);
__Pyx_XDECREF((PyObject *)__pyx_v_indIn_);
__Pyx_XDECREF((PyObject *)__pyx_v_indOut_);
__PYX_XDEC_MEMVIEW(&__pyx_v_SIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_SOut, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPerpIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPerpOut, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indOut, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Tor {
int __pyx_n;
PyObject *Lim;
PyBoolObject *Forbid;
PyObject *RMin;
double EpsUz;
double EpsVz;
double EpsA;
double EpsB;
double EpsPlane;
};
+1799: bool Forbid=True, RMin=None, double EpsUz=1.e-6, double EpsVz=1.e-9, double EpsA=1.e-9, double EpsB=1.e-9, double EpsPlane=1.e-9):
PyBoolObject *__pyx_v_Forbid = ((PyBoolObject *)Py_True);
PyObject *__pyx_v_RMin = ((PyObject *)Py_None);
double __pyx_v_EpsUz = ((double)1.e-6);
double __pyx_v_EpsVz = ((double)1.e-9);
double __pyx_v_EpsA = ((double)1.e-9);
double __pyx_v_EpsB = ((double)1.e-9);
double __pyx_v_EpsPlane = ((double)1.e-9);
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_Nl;
int __pyx_v_Ns;
double __pyx_v_Rmin;
double __pyx_v_upscaDp;
double __pyx_v_upar2;
double __pyx_v_Dpar2;
double __pyx_v_Crit2;
double __pyx_v_kout;
double __pyx_v_kin;
int __pyx_v_indin;
int __pyx_v_indout;
int __pyx_v_Done;
double __pyx_v_L;
double __pyx_v_S1X;
double __pyx_v_S1Y;
double __pyx_v_S2X;
double __pyx_v_S2Y;
double __pyx_v_sca;
double __pyx_v_sca0;
double __pyx_v_sca1;
double __pyx_v_sca2;
double __pyx_v_q;
double __pyx_v_C;
double __pyx_v_delta;
double __pyx_v_sqd;
double __pyx_v_k;
double __pyx_v_sol0;
double __pyx_v_sol1;
double __pyx_v_phi;
double __pyx_v_L0;
double __pyx_v_L1;
double __pyx_v_v0;
double __pyx_v_v1;
double __pyx_v_A;
double __pyx_v_B;
double __pyx_v_ephiIn0;
double __pyx_v_ephiIn1;
int __pyx_v_Forbidbis;
int __pyx_v_Forbid0;
PyArrayObject *__pyx_v_SIn_ = 0;
PyArrayObject *__pyx_v_SOut_ = 0;
PyArrayObject *__pyx_v_VPerp_In = 0;
PyArrayObject *__pyx_v_VPerp_Out = 0;
PyArrayObject *__pyx_v_indIn_ = 0;
PyArrayObject *__pyx_v_indOut_ = 0;
__Pyx_memviewslice __pyx_v_SIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_SOut = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_VPerpIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_VPerpOut = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indOut = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_LocalBuf_ND __pyx_pybuffernd_SIn_;
__Pyx_Buffer __pyx_pybuffer_SIn_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_SOut_;
__Pyx_Buffer __pyx_pybuffer_SOut_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPerp_In;
__Pyx_Buffer __pyx_pybuffer_VPerp_In;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPerp_Out;
__Pyx_Buffer __pyx_pybuffer_VPerp_Out;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indIn_;
__Pyx_Buffer __pyx_pybuffer_indIn_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indOut_;
__Pyx_Buffer __pyx_pybuffer_indOut_;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Calc_LOS_PInOut_Tor", 0);
__Pyx_TraceCall("Calc_LOS_PInOut_Tor", __pyx_f[0], 1798, 0, __PYX_ERR(0, 1798, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_Lim = __pyx_optional_args->Lim;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_Forbid = __pyx_optional_args->Forbid;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_RMin = __pyx_optional_args->RMin;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_EpsUz = __pyx_optional_args->EpsUz;
if (__pyx_optional_args->__pyx_n > 4) {
__pyx_v_EpsVz = __pyx_optional_args->EpsVz;
if (__pyx_optional_args->__pyx_n > 5) {
__pyx_v_EpsA = __pyx_optional_args->EpsA;
if (__pyx_optional_args->__pyx_n > 6) {
__pyx_v_EpsB = __pyx_optional_args->EpsB;
if (__pyx_optional_args->__pyx_n > 7) {
__pyx_v_EpsPlane = __pyx_optional_args->EpsPlane;
}
}
}
}
}
}
}
}
}
__pyx_pybuffer_SIn_.pybuffer.buf = NULL;
__pyx_pybuffer_SIn_.refcount = 0;
__pyx_pybuffernd_SIn_.data = NULL;
__pyx_pybuffernd_SIn_.rcbuffer = &__pyx_pybuffer_SIn_;
__pyx_pybuffer_SOut_.pybuffer.buf = NULL;
__pyx_pybuffer_SOut_.refcount = 0;
__pyx_pybuffernd_SOut_.data = NULL;
__pyx_pybuffernd_SOut_.rcbuffer = &__pyx_pybuffer_SOut_;
__pyx_pybuffer_VPerp_In.pybuffer.buf = NULL;
__pyx_pybuffer_VPerp_In.refcount = 0;
__pyx_pybuffernd_VPerp_In.data = NULL;
__pyx_pybuffernd_VPerp_In.rcbuffer = &__pyx_pybuffer_VPerp_In;
__pyx_pybuffer_VPerp_Out.pybuffer.buf = NULL;
__pyx_pybuffer_VPerp_Out.refcount = 0;
__pyx_pybuffernd_VPerp_Out.data = NULL;
__pyx_pybuffernd_VPerp_Out.rcbuffer = &__pyx_pybuffer_VPerp_Out;
__pyx_pybuffer_indIn_.pybuffer.buf = NULL;
__pyx_pybuffer_indIn_.refcount = 0;
__pyx_pybuffernd_indIn_.data = NULL;
__pyx_pybuffernd_indIn_.rcbuffer = &__pyx_pybuffer_indIn_;
__pyx_pybuffer_indOut_.pybuffer.buf = NULL;
__pyx_pybuffer_indOut_.refcount = 0;
__pyx_pybuffernd_indOut_.data = NULL;
__pyx_pybuffernd_indOut_.rcbuffer = &__pyx_pybuffer_indOut_;
1800:
+1801: cdef int ii, jj, Nl=Ds.shape[1], Ns=vIn.shape[1]
__Pyx_TraceLine(1801,0,__PYX_ERR(0, 1801, __pyx_L1_error)) __pyx_v_Nl = (__pyx_v_Ds.shape[1]); __pyx_v_Ns = (__pyx_v_vIn.shape[1]);
1802: cdef double Rmin, upscaDp, upar2, Dpar2, Crit2, kout, kin
+1803: cdef int indin=0, indout=0, Done=0
__Pyx_TraceLine(1803,0,__PYX_ERR(0, 1803, __pyx_L1_error)) __pyx_v_indin = 0; __pyx_v_indout = 0; __pyx_v_Done = 0;
+1804: cdef double L, S1X=0., S1Y=0., S2X=0., S2Y=0., sca, sca0, sca1, sca2
__Pyx_TraceLine(1804,0,__PYX_ERR(0, 1804, __pyx_L1_error)) __pyx_v_S1X = 0.; __pyx_v_S1Y = 0.; __pyx_v_S2X = 0.; __pyx_v_S2Y = 0.;
+1805: cdef double q, C, delta, sqd, k, sol0, sol1, phi=0., L0=0., L1=0.
__Pyx_TraceLine(1805,0,__PYX_ERR(0, 1805, __pyx_L1_error)) __pyx_v_phi = 0.; __pyx_v_L0 = 0.; __pyx_v_L1 = 0.;
1806: cdef double v0, v1, A, B, ephiIn0, ephiIn1
1807: cdef int Forbidbis, Forbid0
+1808: cdef cnp.ndarray[double,ndim=2] SIn_=np.nan*np.ones((3,Nl)), SOut_=np.nan*np.ones((3,Nl))
__Pyx_TraceLine(1808,0,__PYX_ERR(0, 1808, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1808, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_SIn_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1808, __pyx_L1_error) } else {__pyx_pybuffernd_SIn_.diminfo[0].strides = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_SIn_.diminfo[0].shape = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_SIn_.diminfo[1].strides = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_SIn_.diminfo[1].shape = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.shape[1]; } } __pyx_t_6 = 0; __pyx_v_SIn_ = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_nan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1808, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_SOut_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1808, __pyx_L1_error) } else {__pyx_pybuffernd_SOut_.diminfo[0].strides = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_SOut_.diminfo[0].shape = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_SOut_.diminfo[1].strides = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_SOut_.diminfo[1].shape = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.shape[1]; } } __pyx_t_6 = 0; __pyx_v_SOut_ = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1809: cdef cnp.ndarray[double,ndim=2] VPerp_In=np.nan*np.ones((3,Nl)), VPerp_Out=np.nan*np.ones((3,Nl))
__Pyx_TraceLine(1809,0,__PYX_ERR(0, 1809, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_nan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1809, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_VPerp_In = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1809, __pyx_L1_error) } else {__pyx_pybuffernd_VPerp_In.diminfo[0].strides = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPerp_In.diminfo[0].shape = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPerp_In.diminfo[1].strides = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPerp_In.diminfo[1].shape = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.shape[1]; } } __pyx_t_7 = 0; __pyx_v_VPerp_In = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_nan); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1809, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_VPerp_Out = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1809, __pyx_L1_error) } else {__pyx_pybuffernd_VPerp_Out.diminfo[0].strides = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPerp_Out.diminfo[0].shape = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPerp_Out.diminfo[1].strides = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPerp_Out.diminfo[1].shape = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.shape[1]; } } __pyx_t_7 = 0; __pyx_v_VPerp_Out = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1810: cdef cnp.ndarray[double,ndim=1] indIn_=np.nan*np.ones((Nl,)), indOut_=np.nan*np.ones((Nl,))
__Pyx_TraceLine(1810,0,__PYX_ERR(0, 1810, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1810, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indIn_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1810, __pyx_L1_error) } else {__pyx_pybuffernd_indIn_.diminfo[0].strides = __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indIn_.diminfo[0].shape = __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.shape[0]; } } __pyx_t_8 = 0; __pyx_v_indIn_ = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1810, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indOut_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 1810, __pyx_L1_error) } else {__pyx_pybuffernd_indOut_.diminfo[0].strides = __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indOut_.diminfo[0].shape = __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.shape[0]; } } __pyx_t_8 = 0; __pyx_v_indOut_ = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
1811:
+1812: cdef double[:,::1] SIn=SIn_, SOut=SOut_, VPerpIn=VPerp_In, VPerpOut=VPerp_Out
__Pyx_TraceLine(1812,0,__PYX_ERR(0, 1812, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_SIn_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 1812, __pyx_L1_error) __pyx_v_SIn = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_SOut_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 1812, __pyx_L1_error) __pyx_v_SOut = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPerp_In), PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 1812, __pyx_L1_error) __pyx_v_VPerpIn = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL; __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPerp_Out), PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 1812, __pyx_L1_error) __pyx_v_VPerpOut = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
+1813: cdef double[::1] indIn=indIn_, indOut=indOut_
__Pyx_TraceLine(1813,0,__PYX_ERR(0, 1813, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(((PyObject *)__pyx_v_indIn_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1813, __pyx_L1_error) __pyx_v_indIn = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(((PyObject *)__pyx_v_indOut_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1813, __pyx_L1_error) __pyx_v_indOut = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+1814: if Lim is not None:
__Pyx_TraceLine(1814,0,__PYX_ERR(0, 1814, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Lim != Py_None); __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ }
+1815: L0 = Catan2(Csin(Lim[0]),Ccos(Lim[0]))
__Pyx_TraceLine(1815,0,__PYX_ERR(0, 1815, __pyx_L1_error)) __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_L0 = atan2(sin(__pyx_t_13), cos(__pyx_t_14));
+1816: L1 = Catan2(Csin(Lim[1]),Ccos(Lim[1]))
__Pyx_TraceLine(1816,0,__PYX_ERR(0, 1816, __pyx_L1_error)) __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_L1 = atan2(sin(__pyx_t_14), cos(__pyx_t_13));
1817:
1818: ################
1819: # Prepare input
+1820: if RMin is None:
__Pyx_TraceLine(1820,0,__PYX_ERR(0, 1820, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_RMin == Py_None); __pyx_t_11 = (__pyx_t_12 != 0); if (__pyx_t_11) { /* … */ goto __pyx_L4; }
+1821: Rmin = 0.95*min(np.min(VPoly[0,:]),np.min(np.hypot(Ds[0,:],Ds[1,:])))
__Pyx_TraceLine(1821,0,__PYX_ERR(0, 1821, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_hypot); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10.data = __pyx_v_Ds.data; __pyx_t_10.memview = __pyx_v_Ds.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_Ds.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_Ds.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1821, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_Ds.shape[1]; __pyx_t_10.strides[0] = __pyx_v_Ds.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_10.data = __pyx_v_Ds.data; __pyx_t_10.memview = __pyx_v_Ds.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 1; Py_ssize_t __pyx_tmp_shape = __pyx_v_Ds.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_Ds.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1821, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_Ds.shape[1]; __pyx_t_10.strides[0] = __pyx_v_Ds.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_15 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_16 = NULL; __pyx_t_17 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_17 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_5, __pyx_t_15}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_5, __pyx_t_15}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_18 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, __pyx_t_15); __pyx_t_5 = 0; __pyx_t_15 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10.data = __pyx_v_VPoly.data; __pyx_t_10.memview = __pyx_v_VPoly.memview; __PYX_INC_MEMVIEW(&__pyx_t_10, 0); { Py_ssize_t __pyx_tmp_idx = 0; Py_ssize_t __pyx_tmp_shape = __pyx_v_VPoly.shape[0]; Py_ssize_t __pyx_tmp_stride = __pyx_v_VPoly.strides[0]; if (0 && (__pyx_tmp_idx < 0)) __pyx_tmp_idx += __pyx_tmp_shape; if (0 && !__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape)) { PyErr_SetString(PyExc_IndexError, "Index out of bounds (axis 0)"); __PYX_ERR(0, 1821, __pyx_L1_error) } __pyx_t_10.data += __pyx_tmp_idx * __pyx_tmp_stride; } __pyx_t_10.shape[0] = __pyx_v_VPoly.shape[1]; __pyx_t_10.strides[0] = __pyx_v_VPoly.strides[1]; __pyx_t_10.suboffsets[0] = -1; __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_t_10, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __PYX_XDEC_MEMVIEW(&__pyx_t_10, 1); __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_18, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_4); __pyx_t_3 = __pyx_t_4; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_float_0_95, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_Rmin = __pyx_t_13;
1822: else:
+1823: Rmin = RMin
__Pyx_TraceLine(1823,0,__PYX_ERR(0, 1823, __pyx_L1_error)) /*else*/ { __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_v_RMin); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1823, __pyx_L1_error) __pyx_v_Rmin = __pyx_t_13; } __pyx_L4:;
1824:
1825: ################
1826: # Compute
+1827: if Forbid:
__Pyx_TraceLine(1827,0,__PYX_ERR(0, 1827, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_Forbid)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1827, __pyx_L1_error) if (__pyx_t_11) { /* … */ goto __pyx_L5; }
+1828: Forbid0, Forbidbis = 1, 1
__Pyx_TraceLine(1828,0,__PYX_ERR(0, 1828, __pyx_L1_error)) __pyx_t_17 = 1; __pyx_t_19 = 1; __pyx_v_Forbid0 = __pyx_t_17; __pyx_v_Forbidbis = __pyx_t_19;
1829: else:
+1830: Forbid0, Forbidbis = 0, 0
__Pyx_TraceLine(1830,0,__PYX_ERR(0, 1830, __pyx_L1_error)) /*else*/ { __pyx_t_19 = 0; __pyx_t_17 = 0; __pyx_v_Forbid0 = __pyx_t_19; __pyx_v_Forbidbis = __pyx_t_17; } __pyx_L5:;
+1831: for ii in range(0,Nl):
__Pyx_TraceLine(1831,0,__PYX_ERR(0, 1831, __pyx_L1_error)) __pyx_t_17 = __pyx_v_Nl; __pyx_t_19 = __pyx_t_17; for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_19; __pyx_t_20+=1) { __pyx_v_ii = __pyx_t_20;
+1832: upscaDp = us[0,ii]*Ds[0,ii] + us[1,ii]*Ds[1,ii]
__Pyx_TraceLine(1832,0,__PYX_ERR(0, 1832, __pyx_L1_error)) __pyx_t_21 = 0; __pyx_t_22 = __pyx_v_ii; __pyx_t_23 = 0; __pyx_t_24 = __pyx_v_ii; __pyx_t_25 = 1; __pyx_t_26 = __pyx_v_ii; __pyx_t_27 = 1; __pyx_t_28 = __pyx_v_ii; __pyx_v_upscaDp = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_21 * __pyx_v_us.strides[0]) )) + __pyx_t_22)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_23 * __pyx_v_Ds.strides[0]) )) + __pyx_t_24)) )))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_25 * __pyx_v_us.strides[0]) )) + __pyx_t_26)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_27 * __pyx_v_Ds.strides[0]) )) + __pyx_t_28)) )))));
+1833: upar2 = us[0,ii]**2 + us[1,ii]**2
__Pyx_TraceLine(1833,0,__PYX_ERR(0, 1833, __pyx_L1_error)) __pyx_t_29 = 0; __pyx_t_30 = __pyx_v_ii; __pyx_t_31 = 1; __pyx_t_32 = __pyx_v_ii; __pyx_v_upar2 = (pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_29 * __pyx_v_us.strides[0]) )) + __pyx_t_30)) ))), 2.0) + pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_31 * __pyx_v_us.strides[0]) )) + __pyx_t_32)) ))), 2.0));
+1834: Dpar2 = Ds[0,ii]**2 + Ds[1,ii]**2
__Pyx_TraceLine(1834,0,__PYX_ERR(0, 1834, __pyx_L1_error)) __pyx_t_33 = 0; __pyx_t_34 = __pyx_v_ii; __pyx_t_35 = 1; __pyx_t_36 = __pyx_v_ii; __pyx_v_Dpar2 = (pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_33 * __pyx_v_Ds.strides[0]) )) + __pyx_t_34)) ))), 2.0) + pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_35 * __pyx_v_Ds.strides[0]) )) + __pyx_t_36)) ))), 2.0));
1835: # Prepare in case Forbid is True
+1836: if Forbid0 and not Dpar2>0:
__Pyx_TraceLine(1836,0,__PYX_ERR(0, 1836, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_Forbid0 != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L9_bool_binop_done; } __pyx_t_12 = ((!((__pyx_v_Dpar2 > 0.0) != 0)) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1837: Forbidbis = 0
__Pyx_TraceLine(1837,0,__PYX_ERR(0, 1837, __pyx_L1_error)) __pyx_v_Forbidbis = 0;
+1838: if Forbidbis:
__Pyx_TraceLine(1838,0,__PYX_ERR(0, 1838, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
1839: # Compute coordinates of the 2 points where the tangents touch the inner circle
+1840: L = Csqrt(Dpar2-Rmin**2)
__Pyx_TraceLine(1840,0,__PYX_ERR(0, 1840, __pyx_L1_error)) __pyx_v_L = sqrt((__pyx_v_Dpar2 - pow(__pyx_v_Rmin, 2.0)));
+1841: S1X = (Rmin**2*Ds[0,ii]+Rmin*Ds[1,ii]*L)/Dpar2
__Pyx_TraceLine(1841,0,__PYX_ERR(0, 1841, __pyx_L1_error)) __pyx_t_37 = 0; __pyx_t_38 = __pyx_v_ii; __pyx_t_39 = 1; __pyx_t_40 = __pyx_v_ii; __pyx_v_S1X = (((pow(__pyx_v_Rmin, 2.0) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_37 * __pyx_v_Ds.strides[0]) )) + __pyx_t_38)) )))) + ((__pyx_v_Rmin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_39 * __pyx_v_Ds.strides[0]) )) + __pyx_t_40)) )))) * __pyx_v_L)) / __pyx_v_Dpar2);
+1842: S1Y = (Rmin**2*Ds[1,ii]-Rmin*Ds[0,ii]*L)/Dpar2
__Pyx_TraceLine(1842,0,__PYX_ERR(0, 1842, __pyx_L1_error)) __pyx_t_41 = 1; __pyx_t_42 = __pyx_v_ii; __pyx_t_43 = 0; __pyx_t_44 = __pyx_v_ii; __pyx_v_S1Y = (((pow(__pyx_v_Rmin, 2.0) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_41 * __pyx_v_Ds.strides[0]) )) + __pyx_t_42)) )))) - ((__pyx_v_Rmin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_43 * __pyx_v_Ds.strides[0]) )) + __pyx_t_44)) )))) * __pyx_v_L)) / __pyx_v_Dpar2);
+1843: S2X = (Rmin**2*Ds[0,ii]-Rmin*Ds[1,ii]*L)/Dpar2
__Pyx_TraceLine(1843,0,__PYX_ERR(0, 1843, __pyx_L1_error)) __pyx_t_45 = 0; __pyx_t_46 = __pyx_v_ii; __pyx_t_47 = 1; __pyx_t_48 = __pyx_v_ii; __pyx_v_S2X = (((pow(__pyx_v_Rmin, 2.0) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_45 * __pyx_v_Ds.strides[0]) )) + __pyx_t_46)) )))) - ((__pyx_v_Rmin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_47 * __pyx_v_Ds.strides[0]) )) + __pyx_t_48)) )))) * __pyx_v_L)) / __pyx_v_Dpar2);
+1844: S2Y = (Rmin**2*Ds[1,ii]+Rmin*Ds[0,ii]*L)/Dpar2
__Pyx_TraceLine(1844,0,__PYX_ERR(0, 1844, __pyx_L1_error)) __pyx_t_49 = 1; __pyx_t_50 = __pyx_v_ii; __pyx_t_51 = 0; __pyx_t_52 = __pyx_v_ii; __pyx_v_S2Y = (((pow(__pyx_v_Rmin, 2.0) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_49 * __pyx_v_Ds.strides[0]) )) + __pyx_t_50)) )))) + ((__pyx_v_Rmin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_51 * __pyx_v_Ds.strides[0]) )) + __pyx_t_52)) )))) * __pyx_v_L)) / __pyx_v_Dpar2);
1845:
1846: # Compute all solutions
1847: # Set tolerance value for us[2,ii]
1848: # EpsUz is the tolerated DZ across 20m (max Tokamak size)
+1849: Crit2 = EpsUz**2*upar2/400.
__Pyx_TraceLine(1849,0,__PYX_ERR(0, 1849, __pyx_L1_error)) __pyx_v_Crit2 = ((pow(__pyx_v_EpsUz, 2.0) * __pyx_v_upar2) / 400.);
+1850: kout, kin, Done = 1.e12, 1e12, 0
__Pyx_TraceLine(1850,0,__PYX_ERR(0, 1850, __pyx_L1_error)) __pyx_t_13 = 1.e12; __pyx_t_14 = 1e12; __pyx_t_53 = 0; __pyx_v_kout = __pyx_t_13; __pyx_v_kin = __pyx_t_14; __pyx_v_Done = __pyx_t_53;
1851: # Case with horizontal semi-line
+1852: if us[2,ii]**2<Crit2:
__Pyx_TraceLine(1852,0,__PYX_ERR(0, 1852, __pyx_L1_error)) __pyx_t_54 = 2; __pyx_t_55 = __pyx_v_ii; __pyx_t_11 = ((pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_54 * __pyx_v_us.strides[0]) )) + __pyx_t_55)) ))), 2.0) < __pyx_v_Crit2) != 0); if (__pyx_t_11) { /* … */ goto __pyx_L12; }
+1853: for jj in range(0,Ns):
__Pyx_TraceLine(1853,0,__PYX_ERR(0, 1853, __pyx_L1_error)) __pyx_t_53 = __pyx_v_Ns; __pyx_t_56 = __pyx_t_53; for (__pyx_t_57 = 0; __pyx_t_57 < __pyx_t_56; __pyx_t_57+=1) { __pyx_v_jj = __pyx_t_57;
1854: # Solutions exist only in the case with non-horizontal segment (i.e.: cone, not plane)
+1855: if (VPoly[1,jj+1]-VPoly[1,jj])**2>EpsVz**2:
__Pyx_TraceLine(1855,0,__PYX_ERR(0, 1855, __pyx_L1_error)) __pyx_t_58 = 1; __pyx_t_59 = (__pyx_v_jj + 1); __pyx_t_60 = 1; __pyx_t_61 = __pyx_v_jj; __pyx_t_11 = ((pow(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_58 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_59)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_60 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_61)) )))), 2.0) > pow(__pyx_v_EpsVz, 2.0)) != 0); if (__pyx_t_11) { /* … */ } }
+1856: q = (Ds[2,ii]-VPoly[1,jj])/(VPoly[1,jj+1]-VPoly[1,jj])
__Pyx_TraceLine(1856,0,__PYX_ERR(0, 1856, __pyx_L1_error)) __pyx_t_62 = 2; __pyx_t_63 = __pyx_v_ii; __pyx_t_64 = 1; __pyx_t_65 = __pyx_v_jj; __pyx_t_66 = 1; __pyx_t_67 = (__pyx_v_jj + 1); __pyx_t_68 = 1; __pyx_t_69 = __pyx_v_jj; __pyx_v_q = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_62 * __pyx_v_Ds.strides[0]) )) + __pyx_t_63)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_64 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_65)) )))) / ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_66 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_67)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_68 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_69)) )))));
1857: # The intersection must stand on the segment
+1858: if q>=0 and q<1:
__Pyx_TraceLine(1858,0,__PYX_ERR(0, 1858, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_q >= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L17_bool_binop_done; } __pyx_t_12 = ((__pyx_v_q < 1.0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L17_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1859: C = q**2*(VPoly[0,jj+1]-VPoly[0,jj])**2 + 2.*q*VPoly[0,jj]*(VPoly[0,jj+1]-VPoly[0,jj]) + VPoly[0,jj]**2
__Pyx_TraceLine(1859,0,__PYX_ERR(0, 1859, __pyx_L1_error)) __pyx_t_70 = 0; __pyx_t_71 = (__pyx_v_jj + 1); __pyx_t_72 = 0; __pyx_t_73 = __pyx_v_jj; __pyx_t_74 = 0; __pyx_t_75 = __pyx_v_jj; __pyx_t_76 = 0; __pyx_t_77 = (__pyx_v_jj + 1); __pyx_t_78 = 0; __pyx_t_79 = __pyx_v_jj; __pyx_t_80 = 0; __pyx_t_81 = __pyx_v_jj; __pyx_v_C = (((pow(__pyx_v_q, 2.0) * pow(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_70 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_71)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_72 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_73)) )))), 2.0)) + (((2. * __pyx_v_q) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_74 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_75)) )))) * ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_76 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_77)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_78 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_79)) )))))) + pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_80 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_81)) ))), 2.0));
+1860: delta = upscaDp**2 - upar2*(Dpar2-C)
__Pyx_TraceLine(1860,0,__PYX_ERR(0, 1860, __pyx_L1_error)) __pyx_v_delta = (pow(__pyx_v_upscaDp, 2.0) - (__pyx_v_upar2 * (__pyx_v_Dpar2 - __pyx_v_C)));
+1861: if delta>0.:
__Pyx_TraceLine(1861,0,__PYX_ERR(0, 1861, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_delta > 0.) != 0); if (__pyx_t_11) { /* … */ }
+1862: sqd = Csqrt(delta)
__Pyx_TraceLine(1862,0,__PYX_ERR(0, 1862, __pyx_L1_error)) __pyx_v_sqd = sqrt(__pyx_v_delta);
1863: # The intersection must be on the semi-line (i.e.: k>=0)
1864: # First solution
+1865: if -upscaDp - sqd >=0:
__Pyx_TraceLine(1865,0,__PYX_ERR(0, 1865, __pyx_L1_error)) __pyx_t_11 = ((((-__pyx_v_upscaDp) - __pyx_v_sqd) >= 0.0) != 0); if (__pyx_t_11) { /* … */ }
+1866: k = (-upscaDp - sqd)/upar2
__Pyx_TraceLine(1866,0,__PYX_ERR(0, 1866, __pyx_L1_error)) __pyx_v_k = (((-__pyx_v_upscaDp) - __pyx_v_sqd) / __pyx_v_upar2);
+1867: sol0, sol1 = Ds[0,ii] + k*us[0,ii], Ds[1,ii] + k*us[1,ii]
__Pyx_TraceLine(1867,0,__PYX_ERR(0, 1867, __pyx_L1_error)) __pyx_t_82 = 0; __pyx_t_83 = __pyx_v_ii; __pyx_t_84 = 0; __pyx_t_85 = __pyx_v_ii; __pyx_t_14 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_82 * __pyx_v_Ds.strides[0]) )) + __pyx_t_83)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_84 * __pyx_v_us.strides[0]) )) + __pyx_t_85)) ))))); __pyx_t_86 = 1; __pyx_t_87 = __pyx_v_ii; __pyx_t_88 = 1; __pyx_t_89 = __pyx_v_ii; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_86 * __pyx_v_Ds.strides[0]) )) + __pyx_t_87)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_88 * __pyx_v_us.strides[0]) )) + __pyx_t_89)) ))))); __pyx_v_sol0 = __pyx_t_14; __pyx_v_sol1 = __pyx_t_13;
+1868: if Forbidbis:
__Pyx_TraceLine(1868,0,__PYX_ERR(0, 1868, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
+1869: sca0 = (sol0-S1X)*Ds[0,ii] + (sol1-S1Y)*Ds[1,ii]
__Pyx_TraceLine(1869,0,__PYX_ERR(0, 1869, __pyx_L1_error)) __pyx_t_90 = 0; __pyx_t_91 = __pyx_v_ii; __pyx_t_92 = 1; __pyx_t_93 = __pyx_v_ii; __pyx_v_sca0 = (((__pyx_v_sol0 - __pyx_v_S1X) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_90 * __pyx_v_Ds.strides[0]) )) + __pyx_t_91)) )))) + ((__pyx_v_sol1 - __pyx_v_S1Y) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_92 * __pyx_v_Ds.strides[0]) )) + __pyx_t_93)) )))));
+1870: sca1 = (sol0-S1X)*S1X + (sol1-S1Y)*S1Y
__Pyx_TraceLine(1870,0,__PYX_ERR(0, 1870, __pyx_L1_error)) __pyx_v_sca1 = (((__pyx_v_sol0 - __pyx_v_S1X) * __pyx_v_S1X) + ((__pyx_v_sol1 - __pyx_v_S1Y) * __pyx_v_S1Y));
+1871: sca2 = (sol0-S2X)*S2X + (sol1-S2Y)*S2Y
__Pyx_TraceLine(1871,0,__PYX_ERR(0, 1871, __pyx_L1_error)) __pyx_v_sca2 = (((__pyx_v_sol0 - __pyx_v_S2X) * __pyx_v_S2X) + ((__pyx_v_sol1 - __pyx_v_S2Y) * __pyx_v_S2Y));
+1872: if not Forbidbis or (Forbidbis and not (sca0<0 and sca1<0 and sca2<0)):
__Pyx_TraceLine(1872,0,__PYX_ERR(0, 1872, __pyx_L1_error)) __pyx_t_12 = ((!(__pyx_v_Forbidbis != 0)) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L23_bool_binop_done; } __pyx_t_12 = (__pyx_v_Forbidbis != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L23_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca0 < 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_12 = __pyx_t_94; goto __pyx_L26_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca1 < 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_12 = __pyx_t_94; goto __pyx_L26_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca2 < 0.0) != 0); __pyx_t_12 = __pyx_t_94; __pyx_L26_bool_binop_done:; __pyx_t_94 = ((!__pyx_t_12) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L23_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1873: # Get the normalized perpendicular vector at intersection
+1874: phi = Catan2(sol1,sol0)
__Pyx_TraceLine(1874,0,__PYX_ERR(0, 1874, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_sol1, __pyx_v_sol0);
1875: # Check sol inside the Lim
+1876: if Lim is None or (Lim is not None and ((L0<L1 and L0<=phi and phi<=L1) or (L0>L1 and (phi>=L0 or phi<=L1)))):
__Pyx_TraceLine(1876,0,__PYX_ERR(0, 1876, __pyx_L1_error)) __pyx_t_94 = (__pyx_v_Lim == Py_None); __pyx_t_12 = (__pyx_t_94 != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L30_bool_binop_done; } __pyx_t_12 = (__pyx_v_Lim != Py_None); __pyx_t_94 = (__pyx_t_12 != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L30_bool_binop_done; } __pyx_t_94 = ((__pyx_v_L0 < __pyx_v_L1) != 0); if (!__pyx_t_94) { goto __pyx_L33_next_or; } else { } __pyx_t_94 = ((__pyx_v_L0 <= __pyx_v_phi) != 0); if (!__pyx_t_94) { goto __pyx_L33_next_or; } else { } __pyx_t_94 = ((__pyx_v_phi <= __pyx_v_L1) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L30_bool_binop_done; } __pyx_L33_next_or:; __pyx_t_94 = ((__pyx_v_L0 > __pyx_v_L1) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L30_bool_binop_done; } __pyx_t_94 = ((__pyx_v_phi >= __pyx_v_L0) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L30_bool_binop_done; } __pyx_t_94 = ((__pyx_v_phi <= __pyx_v_L1) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L30_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1877: # Get the scalar product to determine entry or exit point
+1878: sca = Ccos(phi)*vIn[0,jj]*us[0,ii] + Csin(phi)*vIn[0,jj]*us[1,ii] + vIn[1,jj]*us[2,ii]
__Pyx_TraceLine(1878,0,__PYX_ERR(0, 1878, __pyx_L1_error)) __pyx_t_95 = 0; __pyx_t_96 = __pyx_v_jj; __pyx_t_97 = 0; __pyx_t_98 = __pyx_v_ii; __pyx_t_99 = 0; __pyx_t_100 = __pyx_v_jj; __pyx_t_101 = 1; __pyx_t_102 = __pyx_v_ii; __pyx_t_103 = 1; __pyx_t_104 = __pyx_v_jj; __pyx_t_105 = 2; __pyx_t_106 = __pyx_v_ii; __pyx_v_sca = ((((cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_95 * __pyx_v_vIn.strides[0]) )) + __pyx_t_96)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_97 * __pyx_v_us.strides[0]) )) + __pyx_t_98)) )))) + ((sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_99 * __pyx_v_vIn.strides[0]) )) + __pyx_t_100)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_101 * __pyx_v_us.strides[0]) )) + __pyx_t_102)) ))))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_103 * __pyx_v_vIn.strides[0]) )) + __pyx_t_104)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_105 * __pyx_v_us.strides[0]) )) + __pyx_t_106)) )))));
+1879: if sca<=0 and k<kout:
__Pyx_TraceLine(1879,0,__PYX_ERR(0, 1879, __pyx_L1_error)) __pyx_t_94 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L39_bool_binop_done; } __pyx_t_94 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L39_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L38; }
+1880: kout = k
__Pyx_TraceLine(1880,0,__PYX_ERR(0, 1880, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+1881: indout = jj
__Pyx_TraceLine(1881,0,__PYX_ERR(0, 1881, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+1882: Done = 1
__Pyx_TraceLine(1882,0,__PYX_ERR(0, 1882, __pyx_L1_error)) __pyx_v_Done = 1;
1883: #print(1, k)
+1884: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(1884,0,__PYX_ERR(0, 1884, __pyx_L1_error)) __pyx_t_94 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L41_bool_binop_done; } __pyx_t_13 = __pyx_v_kout; __pyx_t_14 = __pyx_v_kin; if (((__pyx_t_13 < __pyx_t_14) != 0)) { __pyx_t_107 = __pyx_t_13; } else { __pyx_t_107 = __pyx_t_14; } __pyx_t_94 = ((__pyx_v_k < __pyx_t_107) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L41_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L38:;
+1885: kin = k
__Pyx_TraceLine(1885,0,__PYX_ERR(0, 1885, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+1886: indin = jj
__Pyx_TraceLine(1886,0,__PYX_ERR(0, 1886, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
1887: #print(2, k)
1888:
1889: # Second solution
+1890: if -upscaDp + sqd >=0:
__Pyx_TraceLine(1890,0,__PYX_ERR(0, 1890, __pyx_L1_error)) __pyx_t_11 = ((((-__pyx_v_upscaDp) + __pyx_v_sqd) >= 0.0) != 0); if (__pyx_t_11) { /* … */ }
+1891: k = (-upscaDp + sqd)/upar2
__Pyx_TraceLine(1891,0,__PYX_ERR(0, 1891, __pyx_L1_error)) __pyx_v_k = (((-__pyx_v_upscaDp) + __pyx_v_sqd) / __pyx_v_upar2);
+1892: sol0, sol1 = Ds[0,ii] + k*us[0,ii], Ds[1,ii] + k*us[1,ii]
__Pyx_TraceLine(1892,0,__PYX_ERR(0, 1892, __pyx_L1_error)) __pyx_t_108 = 0; __pyx_t_109 = __pyx_v_ii; __pyx_t_110 = 0; __pyx_t_111 = __pyx_v_ii; __pyx_t_107 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_108 * __pyx_v_Ds.strides[0]) )) + __pyx_t_109)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_110 * __pyx_v_us.strides[0]) )) + __pyx_t_111)) ))))); __pyx_t_112 = 1; __pyx_t_113 = __pyx_v_ii; __pyx_t_114 = 1; __pyx_t_115 = __pyx_v_ii; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_112 * __pyx_v_Ds.strides[0]) )) + __pyx_t_113)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_114 * __pyx_v_us.strides[0]) )) + __pyx_t_115)) ))))); __pyx_v_sol0 = __pyx_t_107; __pyx_v_sol1 = __pyx_t_13;
+1893: if Forbidbis:
__Pyx_TraceLine(1893,0,__PYX_ERR(0, 1893, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
+1894: sca0 = (sol0-S1X)*Ds[0,ii] + (sol1-S1Y)*Ds[1,ii]
__Pyx_TraceLine(1894,0,__PYX_ERR(0, 1894, __pyx_L1_error)) __pyx_t_116 = 0; __pyx_t_117 = __pyx_v_ii; __pyx_t_118 = 1; __pyx_t_119 = __pyx_v_ii; __pyx_v_sca0 = (((__pyx_v_sol0 - __pyx_v_S1X) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_116 * __pyx_v_Ds.strides[0]) )) + __pyx_t_117)) )))) + ((__pyx_v_sol1 - __pyx_v_S1Y) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_118 * __pyx_v_Ds.strides[0]) )) + __pyx_t_119)) )))));
+1895: sca1 = (sol0-S1X)*S1X + (sol1-S1Y)*S1Y
__Pyx_TraceLine(1895,0,__PYX_ERR(0, 1895, __pyx_L1_error)) __pyx_v_sca1 = (((__pyx_v_sol0 - __pyx_v_S1X) * __pyx_v_S1X) + ((__pyx_v_sol1 - __pyx_v_S1Y) * __pyx_v_S1Y));
+1896: sca2 = (sol0-S2X)*S2X + (sol1-S2Y)*S2Y
__Pyx_TraceLine(1896,0,__PYX_ERR(0, 1896, __pyx_L1_error)) __pyx_v_sca2 = (((__pyx_v_sol0 - __pyx_v_S2X) * __pyx_v_S2X) + ((__pyx_v_sol1 - __pyx_v_S2Y) * __pyx_v_S2Y));
+1897: if not Forbidbis or (Forbidbis and not (sca0<0 and sca1<0 and sca2<0)):
__Pyx_TraceLine(1897,0,__PYX_ERR(0, 1897, __pyx_L1_error)) __pyx_t_94 = ((!(__pyx_v_Forbidbis != 0)) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L46_bool_binop_done; } __pyx_t_94 = (__pyx_v_Forbidbis != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L46_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca0 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_94 = __pyx_t_12; goto __pyx_L49_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca1 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_94 = __pyx_t_12; goto __pyx_L49_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca2 < 0.0) != 0); __pyx_t_94 = __pyx_t_12; __pyx_L49_bool_binop_done:; __pyx_t_12 = ((!__pyx_t_94) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L46_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1898: # Get the normalized perpendicular vector at intersection
+1899: phi = Catan2(sol1,sol0)
__Pyx_TraceLine(1899,0,__PYX_ERR(0, 1899, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_sol1, __pyx_v_sol0);
+1900: if Lim is None or (Lim is not None and ((L0<L1 and L0<=phi and phi<=L1) or (L0>L1 and (phi>=L0 or phi<=L1)))):
__Pyx_TraceLine(1900,0,__PYX_ERR(0, 1900, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_Lim == Py_None); __pyx_t_94 = (__pyx_t_12 != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L53_bool_binop_done; } __pyx_t_94 = (__pyx_v_Lim != Py_None); __pyx_t_12 = (__pyx_t_94 != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L53_bool_binop_done; } __pyx_t_12 = ((__pyx_v_L0 < __pyx_v_L1) != 0); if (!__pyx_t_12) { goto __pyx_L56_next_or; } else { } __pyx_t_12 = ((__pyx_v_L0 <= __pyx_v_phi) != 0); if (!__pyx_t_12) { goto __pyx_L56_next_or; } else { } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L53_bool_binop_done; } __pyx_L56_next_or:; __pyx_t_12 = ((__pyx_v_L0 > __pyx_v_L1) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L53_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi >= __pyx_v_L0) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L53_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L53_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1901: # Get the scalar product to determine entry or exit point
+1902: sca = Ccos(phi)*vIn[0,jj]*us[0,ii] + Csin(phi)*vIn[0,jj]*us[1,ii] + vIn[1,jj]*us[2,ii]
__Pyx_TraceLine(1902,0,__PYX_ERR(0, 1902, __pyx_L1_error)) __pyx_t_120 = 0; __pyx_t_121 = __pyx_v_jj; __pyx_t_122 = 0; __pyx_t_123 = __pyx_v_ii; __pyx_t_124 = 0; __pyx_t_125 = __pyx_v_jj; __pyx_t_126 = 1; __pyx_t_127 = __pyx_v_ii; __pyx_t_128 = 1; __pyx_t_129 = __pyx_v_jj; __pyx_t_130 = 2; __pyx_t_131 = __pyx_v_ii; __pyx_v_sca = ((((cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_120 * __pyx_v_vIn.strides[0]) )) + __pyx_t_121)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_122 * __pyx_v_us.strides[0]) )) + __pyx_t_123)) )))) + ((sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_124 * __pyx_v_vIn.strides[0]) )) + __pyx_t_125)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_126 * __pyx_v_us.strides[0]) )) + __pyx_t_127)) ))))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_128 * __pyx_v_vIn.strides[0]) )) + __pyx_t_129)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_130 * __pyx_v_us.strides[0]) )) + __pyx_t_131)) )))));
+1903: if sca<=0 and k<kout:
__Pyx_TraceLine(1903,0,__PYX_ERR(0, 1903, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L62_bool_binop_done; } __pyx_t_12 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L62_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L61; }
+1904: kout = k
__Pyx_TraceLine(1904,0,__PYX_ERR(0, 1904, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+1905: indout = jj
__Pyx_TraceLine(1905,0,__PYX_ERR(0, 1905, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+1906: Done = 1
__Pyx_TraceLine(1906,0,__PYX_ERR(0, 1906, __pyx_L1_error)) __pyx_v_Done = 1;
1907: #print(3, k)
+1908: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(1908,0,__PYX_ERR(0, 1908, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L64_bool_binop_done; } __pyx_t_13 = __pyx_v_kout; __pyx_t_107 = __pyx_v_kin; if (((__pyx_t_13 < __pyx_t_107) != 0)) { __pyx_t_14 = __pyx_t_13; } else { __pyx_t_14 = __pyx_t_107; } __pyx_t_12 = ((__pyx_v_k < __pyx_t_14) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L64_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L61:;
+1909: kin = k
__Pyx_TraceLine(1909,0,__PYX_ERR(0, 1909, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+1910: indin = jj
__Pyx_TraceLine(1910,0,__PYX_ERR(0, 1910, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
1911: #print(4, k)
1912:
1913: # More general non-horizontal semi-line case
1914: else:
+1915: for jj in range(Ns):
__Pyx_TraceLine(1915,0,__PYX_ERR(0, 1915, __pyx_L1_error)) /*else*/ { __pyx_t_53 = __pyx_v_Ns; __pyx_t_56 = __pyx_t_53; for (__pyx_t_57 = 0; __pyx_t_57 < __pyx_t_56; __pyx_t_57+=1) { __pyx_v_jj = __pyx_t_57;
+1916: v0, v1 = VPoly[0,jj+1]-VPoly[0,jj], VPoly[1,jj+1]-VPoly[1,jj]
__Pyx_TraceLine(1916,0,__PYX_ERR(0, 1916, __pyx_L1_error)) __pyx_t_132 = 0; __pyx_t_133 = (__pyx_v_jj + 1); __pyx_t_134 = 0; __pyx_t_135 = __pyx_v_jj; __pyx_t_14 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_132 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_133)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_134 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_135)) )))); __pyx_t_136 = 1; __pyx_t_137 = (__pyx_v_jj + 1); __pyx_t_138 = 1; __pyx_t_139 = __pyx_v_jj; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_136 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_137)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_138 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_139)) )))); __pyx_v_v0 = __pyx_t_14; __pyx_v_v1 = __pyx_t_13;
+1917: A = v0**2 - upar2*(v1/us[2,ii])**2
__Pyx_TraceLine(1917,0,__PYX_ERR(0, 1917, __pyx_L1_error)) __pyx_t_140 = 2; __pyx_t_141 = __pyx_v_ii; __pyx_v_A = (pow(__pyx_v_v0, 2.0) - (__pyx_v_upar2 * pow((__pyx_v_v1 / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_140 * __pyx_v_us.strides[0]) )) + __pyx_t_141)) )))), 2.0)));
+1918: B = VPoly[0,jj]*v0 + v1*(Ds[2,ii]-VPoly[1,jj])*upar2/us[2,ii]**2 - upscaDp*v1/us[2,ii]
__Pyx_TraceLine(1918,0,__PYX_ERR(0, 1918, __pyx_L1_error)) __pyx_t_142 = 0; __pyx_t_143 = __pyx_v_jj; __pyx_t_144 = 2; __pyx_t_145 = __pyx_v_ii; __pyx_t_146 = 1; __pyx_t_147 = __pyx_v_jj; __pyx_t_148 = 2; __pyx_t_149 = __pyx_v_ii; __pyx_t_150 = 2; __pyx_t_151 = __pyx_v_ii; __pyx_v_B = ((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_142 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_143)) ))) * __pyx_v_v0) + (((__pyx_v_v1 * ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_144 * __pyx_v_Ds.strides[0]) )) + __pyx_t_145)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_146 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_147)) ))))) * __pyx_v_upar2) / pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_148 * __pyx_v_us.strides[0]) )) + __pyx_t_149)) ))), 2.0))) - ((__pyx_v_upscaDp * __pyx_v_v1) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_150 * __pyx_v_us.strides[0]) )) + __pyx_t_151)) )))));
+1919: C = -upar2*(Ds[2,ii]-VPoly[1,jj])**2/us[2,ii]**2 + 2.*upscaDp*(Ds[2,ii]-VPoly[1,jj])/us[2,ii] - Dpar2 + VPoly[0,jj]**2
__Pyx_TraceLine(1919,0,__PYX_ERR(0, 1919, __pyx_L1_error)) __pyx_t_152 = 2; __pyx_t_153 = __pyx_v_ii; __pyx_t_154 = 1; __pyx_t_155 = __pyx_v_jj; __pyx_t_156 = 2; __pyx_t_157 = __pyx_v_ii; __pyx_t_158 = 2; __pyx_t_159 = __pyx_v_ii; __pyx_t_160 = 1; __pyx_t_161 = __pyx_v_jj; __pyx_t_162 = 2; __pyx_t_163 = __pyx_v_ii; __pyx_t_164 = 0; __pyx_t_165 = __pyx_v_jj; __pyx_v_C = ((((((-__pyx_v_upar2) * pow(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_152 * __pyx_v_Ds.strides[0]) )) + __pyx_t_153)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_154 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_155)) )))), 2.0)) / pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_156 * __pyx_v_us.strides[0]) )) + __pyx_t_157)) ))), 2.0)) + (((2. * __pyx_v_upscaDp) * ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_158 * __pyx_v_Ds.strides[0]) )) + __pyx_t_159)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_160 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_161)) ))))) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_162 * __pyx_v_us.strides[0]) )) + __pyx_t_163)) ))))) - __pyx_v_Dpar2) + pow((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_164 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_165)) ))), 2.0));
1920:
+1921: if A**2<EpsA**2 and B**2>EpsB**2:
__Pyx_TraceLine(1921,0,__PYX_ERR(0, 1921, __pyx_L1_error)) __pyx_t_12 = ((pow(__pyx_v_A, 2.0) < pow(__pyx_v_EpsA, 2.0)) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L69_bool_binop_done; } __pyx_t_12 = ((pow(__pyx_v_B, 2.0) > pow(__pyx_v_EpsB, 2.0)) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L69_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L68; }
+1922: q = -C/(2.*B)
__Pyx_TraceLine(1922,0,__PYX_ERR(0, 1922, __pyx_L1_error)) __pyx_v_q = ((-__pyx_v_C) / (2. * __pyx_v_B));
+1923: if q>=0. and q<1.:
__Pyx_TraceLine(1923,0,__PYX_ERR(0, 1923, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_q >= 0.) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L72_bool_binop_done; } __pyx_t_12 = ((__pyx_v_q < 1.) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L72_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1924: k = (q*v1 - (Ds[2,ii]-VPoly[1,jj]))/us[2,ii]
__Pyx_TraceLine(1924,0,__PYX_ERR(0, 1924, __pyx_L1_error)) __pyx_t_166 = 2; __pyx_t_167 = __pyx_v_ii; __pyx_t_168 = 1; __pyx_t_169 = __pyx_v_jj; __pyx_t_170 = 2; __pyx_t_171 = __pyx_v_ii; __pyx_v_k = (((__pyx_v_q * __pyx_v_v1) - ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_166 * __pyx_v_Ds.strides[0]) )) + __pyx_t_167)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_168 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_169)) ))))) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_170 * __pyx_v_us.strides[0]) )) + __pyx_t_171)) ))));
+1925: if k>=0:
__Pyx_TraceLine(1925,0,__PYX_ERR(0, 1925, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_k >= 0.0) != 0); if (__pyx_t_11) { /* … */ }
+1926: sol0, sol1 = Ds[0,ii] + k*us[0,ii], Ds[1,ii] + k*us[1,ii]
__Pyx_TraceLine(1926,0,__PYX_ERR(0, 1926, __pyx_L1_error)) __pyx_t_172 = 0; __pyx_t_173 = __pyx_v_ii; __pyx_t_174 = 0; __pyx_t_175 = __pyx_v_ii; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_172 * __pyx_v_Ds.strides[0]) )) + __pyx_t_173)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_174 * __pyx_v_us.strides[0]) )) + __pyx_t_175)) ))))); __pyx_t_176 = 1; __pyx_t_177 = __pyx_v_ii; __pyx_t_178 = 1; __pyx_t_179 = __pyx_v_ii; __pyx_t_14 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_176 * __pyx_v_Ds.strides[0]) )) + __pyx_t_177)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_178 * __pyx_v_us.strides[0]) )) + __pyx_t_179)) ))))); __pyx_v_sol0 = __pyx_t_13; __pyx_v_sol1 = __pyx_t_14;
+1927: if Forbidbis:
__Pyx_TraceLine(1927,0,__PYX_ERR(0, 1927, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
+1928: sca0 = (sol0-S1X)*Ds[0,ii] + (sol1-S1Y)*Ds[1,ii]
__Pyx_TraceLine(1928,0,__PYX_ERR(0, 1928, __pyx_L1_error)) __pyx_t_180 = 0; __pyx_t_181 = __pyx_v_ii; __pyx_t_182 = 1; __pyx_t_183 = __pyx_v_ii; __pyx_v_sca0 = (((__pyx_v_sol0 - __pyx_v_S1X) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_180 * __pyx_v_Ds.strides[0]) )) + __pyx_t_181)) )))) + ((__pyx_v_sol1 - __pyx_v_S1Y) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_182 * __pyx_v_Ds.strides[0]) )) + __pyx_t_183)) )))));
+1929: sca1 = (sol0-S1X)*S1X + (sol1-S1Y)*S1Y
__Pyx_TraceLine(1929,0,__PYX_ERR(0, 1929, __pyx_L1_error)) __pyx_v_sca1 = (((__pyx_v_sol0 - __pyx_v_S1X) * __pyx_v_S1X) + ((__pyx_v_sol1 - __pyx_v_S1Y) * __pyx_v_S1Y));
+1930: sca2 = (sol0-S2X)*S2X + (sol1-S2Y)*S2Y
__Pyx_TraceLine(1930,0,__PYX_ERR(0, 1930, __pyx_L1_error)) __pyx_v_sca2 = (((__pyx_v_sol0 - __pyx_v_S2X) * __pyx_v_S2X) + ((__pyx_v_sol1 - __pyx_v_S2Y) * __pyx_v_S2Y));
1931: #print 1, k, kout, sca0, sca1, sca2
+1932: if sca0<0 and sca1<0 and sca2<0:
__Pyx_TraceLine(1932,0,__PYX_ERR(0, 1932, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca0 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L77_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca1 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L77_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca2 < 0.0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L77_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1933: continue
__Pyx_TraceLine(1933,0,__PYX_ERR(0, 1933, __pyx_L1_error)) goto __pyx_L66_continue;
1934: # Get the normalized perpendicular vector at intersection
+1935: phi = Catan2(sol1,sol0)
__Pyx_TraceLine(1935,0,__PYX_ERR(0, 1935, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_sol1, __pyx_v_sol0);
+1936: if Lim is None or (Lim is not None and ((L0<L1 and L0<=phi and phi<=L1) or (L0>L1 and (phi>=L0 or phi<=L1)))):
__Pyx_TraceLine(1936,0,__PYX_ERR(0, 1936, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_Lim == Py_None); __pyx_t_94 = (__pyx_t_12 != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L81_bool_binop_done; } __pyx_t_94 = (__pyx_v_Lim != Py_None); __pyx_t_12 = (__pyx_t_94 != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L81_bool_binop_done; } __pyx_t_12 = ((__pyx_v_L0 < __pyx_v_L1) != 0); if (!__pyx_t_12) { goto __pyx_L84_next_or; } else { } __pyx_t_12 = ((__pyx_v_L0 <= __pyx_v_phi) != 0); if (!__pyx_t_12) { goto __pyx_L84_next_or; } else { } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L81_bool_binop_done; } __pyx_L84_next_or:; __pyx_t_12 = ((__pyx_v_L0 > __pyx_v_L1) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L81_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi >= __pyx_v_L0) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L81_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L81_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1937: # Get the scalar product to determine entry or exit point
+1938: sca = Ccos(phi)*vIn[0,jj]*us[0,ii] + Csin(phi)*vIn[0,jj]*us[1,ii] + vIn[1,jj]*us[2,ii]
__Pyx_TraceLine(1938,0,__PYX_ERR(0, 1938, __pyx_L1_error)) __pyx_t_184 = 0; __pyx_t_185 = __pyx_v_jj; __pyx_t_186 = 0; __pyx_t_187 = __pyx_v_ii; __pyx_t_188 = 0; __pyx_t_189 = __pyx_v_jj; __pyx_t_190 = 1; __pyx_t_191 = __pyx_v_ii; __pyx_t_192 = 1; __pyx_t_193 = __pyx_v_jj; __pyx_t_194 = 2; __pyx_t_195 = __pyx_v_ii; __pyx_v_sca = ((((cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_184 * __pyx_v_vIn.strides[0]) )) + __pyx_t_185)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_186 * __pyx_v_us.strides[0]) )) + __pyx_t_187)) )))) + ((sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_188 * __pyx_v_vIn.strides[0]) )) + __pyx_t_189)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_190 * __pyx_v_us.strides[0]) )) + __pyx_t_191)) ))))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_192 * __pyx_v_vIn.strides[0]) )) + __pyx_t_193)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_194 * __pyx_v_us.strides[0]) )) + __pyx_t_195)) )))));
+1939: if sca<=0 and k<kout:
__Pyx_TraceLine(1939,0,__PYX_ERR(0, 1939, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L90_bool_binop_done; } __pyx_t_12 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L90_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L89; }
+1940: kout = k
__Pyx_TraceLine(1940,0,__PYX_ERR(0, 1940, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+1941: indout = jj
__Pyx_TraceLine(1941,0,__PYX_ERR(0, 1941, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+1942: Done = 1
__Pyx_TraceLine(1942,0,__PYX_ERR(0, 1942, __pyx_L1_error)) __pyx_v_Done = 1;
1943: #print(5, k)
+1944: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(1944,0,__PYX_ERR(0, 1944, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L92_bool_binop_done; } __pyx_t_14 = __pyx_v_kout; __pyx_t_13 = __pyx_v_kin; if (((__pyx_t_14 < __pyx_t_13) != 0)) { __pyx_t_107 = __pyx_t_14; } else { __pyx_t_107 = __pyx_t_13; } __pyx_t_12 = ((__pyx_v_k < __pyx_t_107) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L92_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L89:;
+1945: kin = k
__Pyx_TraceLine(1945,0,__PYX_ERR(0, 1945, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+1946: indin = jj
__Pyx_TraceLine(1946,0,__PYX_ERR(0, 1946, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
1947: #print(6, k)
1948:
+1949: elif A**2>=EpsA**2 and B**2>A*C:
__Pyx_TraceLine(1949,0,__PYX_ERR(0, 1949, __pyx_L1_error)) __pyx_t_12 = ((pow(__pyx_v_A, 2.0) >= pow(__pyx_v_EpsA, 2.0)) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L94_bool_binop_done; } __pyx_t_12 = ((pow(__pyx_v_B, 2.0) > (__pyx_v_A * __pyx_v_C)) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L94_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L68:; __pyx_L66_continue:; } } __pyx_L12:;
+1950: sqd = Csqrt(B**2-A*C)
__Pyx_TraceLine(1950,0,__PYX_ERR(0, 1950, __pyx_L1_error)) __pyx_v_sqd = sqrt((pow(__pyx_v_B, 2.0) - (__pyx_v_A * __pyx_v_C)));
1951: # First solution
+1952: q = (-B + sqd)/A
__Pyx_TraceLine(1952,0,__PYX_ERR(0, 1952, __pyx_L1_error)) __pyx_v_q = (((-__pyx_v_B) + __pyx_v_sqd) / __pyx_v_A);
+1953: if q>=0. and q<1.:
__Pyx_TraceLine(1953,0,__PYX_ERR(0, 1953, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_q >= 0.) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L97_bool_binop_done; } __pyx_t_12 = ((__pyx_v_q < 1.) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L97_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1954: k = (q*v1 - (Ds[2,ii]-VPoly[1,jj]))/us[2,ii]
__Pyx_TraceLine(1954,0,__PYX_ERR(0, 1954, __pyx_L1_error)) __pyx_t_196 = 2; __pyx_t_197 = __pyx_v_ii; __pyx_t_198 = 1; __pyx_t_199 = __pyx_v_jj; __pyx_t_200 = 2; __pyx_t_201 = __pyx_v_ii; __pyx_v_k = (((__pyx_v_q * __pyx_v_v1) - ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_196 * __pyx_v_Ds.strides[0]) )) + __pyx_t_197)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_198 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_199)) ))))) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_200 * __pyx_v_us.strides[0]) )) + __pyx_t_201)) ))));
+1955: if k>=0.:
__Pyx_TraceLine(1955,0,__PYX_ERR(0, 1955, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_k >= 0.) != 0); if (__pyx_t_11) { /* … */ }
+1956: sol0, sol1 = Ds[0,ii] + k*us[0,ii], Ds[1,ii] + k*us[1,ii]
__Pyx_TraceLine(1956,0,__PYX_ERR(0, 1956, __pyx_L1_error)) __pyx_t_202 = 0; __pyx_t_203 = __pyx_v_ii; __pyx_t_204 = 0; __pyx_t_205 = __pyx_v_ii; __pyx_t_107 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_202 * __pyx_v_Ds.strides[0]) )) + __pyx_t_203)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_204 * __pyx_v_us.strides[0]) )) + __pyx_t_205)) ))))); __pyx_t_206 = 1; __pyx_t_207 = __pyx_v_ii; __pyx_t_208 = 1; __pyx_t_209 = __pyx_v_ii; __pyx_t_14 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_206 * __pyx_v_Ds.strides[0]) )) + __pyx_t_207)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_208 * __pyx_v_us.strides[0]) )) + __pyx_t_209)) ))))); __pyx_v_sol0 = __pyx_t_107; __pyx_v_sol1 = __pyx_t_14;
+1957: if Forbidbis:
__Pyx_TraceLine(1957,0,__PYX_ERR(0, 1957, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
+1958: sca0 = (sol0-S1X)*Ds[0,ii] + (sol1-S1Y)*Ds[1,ii]
__Pyx_TraceLine(1958,0,__PYX_ERR(0, 1958, __pyx_L1_error)) __pyx_t_210 = 0; __pyx_t_211 = __pyx_v_ii; __pyx_t_212 = 1; __pyx_t_213 = __pyx_v_ii; __pyx_v_sca0 = (((__pyx_v_sol0 - __pyx_v_S1X) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_210 * __pyx_v_Ds.strides[0]) )) + __pyx_t_211)) )))) + ((__pyx_v_sol1 - __pyx_v_S1Y) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_212 * __pyx_v_Ds.strides[0]) )) + __pyx_t_213)) )))));
+1959: sca1 = (sol0-S1X)*S1X + (sol1-S1Y)*S1Y
__Pyx_TraceLine(1959,0,__PYX_ERR(0, 1959, __pyx_L1_error)) __pyx_v_sca1 = (((__pyx_v_sol0 - __pyx_v_S1X) * __pyx_v_S1X) + ((__pyx_v_sol1 - __pyx_v_S1Y) * __pyx_v_S1Y));
+1960: sca2 = (sol0-S2X)*S2X + (sol1-S2Y)*S2Y
__Pyx_TraceLine(1960,0,__PYX_ERR(0, 1960, __pyx_L1_error)) __pyx_v_sca2 = (((__pyx_v_sol0 - __pyx_v_S2X) * __pyx_v_S2X) + ((__pyx_v_sol1 - __pyx_v_S2Y) * __pyx_v_S2Y));
1961: #print 2, k, kout, sca0, sca1, sca2
+1962: if not Forbidbis or (Forbidbis and not (sca0<0 and sca1<0 and sca2<0)):
__Pyx_TraceLine(1962,0,__PYX_ERR(0, 1962, __pyx_L1_error)) __pyx_t_12 = ((!(__pyx_v_Forbidbis != 0)) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L102_bool_binop_done; } __pyx_t_12 = (__pyx_v_Forbidbis != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L102_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca0 < 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_12 = __pyx_t_94; goto __pyx_L105_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca1 < 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_12 = __pyx_t_94; goto __pyx_L105_bool_binop_done; } __pyx_t_94 = ((__pyx_v_sca2 < 0.0) != 0); __pyx_t_12 = __pyx_t_94; __pyx_L105_bool_binop_done:; __pyx_t_94 = ((!__pyx_t_12) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L102_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1963: # Get the normalized perpendicular vector at intersection
+1964: phi = Catan2(sol1,sol0)
__Pyx_TraceLine(1964,0,__PYX_ERR(0, 1964, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_sol1, __pyx_v_sol0);
+1965: if Lim is None or (Lim is not None and ((L0<L1 and L0<=phi and phi<=L1) or (L0>L1 and (phi>=L0 or phi<=L1)))):
__Pyx_TraceLine(1965,0,__PYX_ERR(0, 1965, __pyx_L1_error)) __pyx_t_94 = (__pyx_v_Lim == Py_None); __pyx_t_12 = (__pyx_t_94 != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L109_bool_binop_done; } __pyx_t_12 = (__pyx_v_Lim != Py_None); __pyx_t_94 = (__pyx_t_12 != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L109_bool_binop_done; } __pyx_t_94 = ((__pyx_v_L0 < __pyx_v_L1) != 0); if (!__pyx_t_94) { goto __pyx_L112_next_or; } else { } __pyx_t_94 = ((__pyx_v_L0 <= __pyx_v_phi) != 0); if (!__pyx_t_94) { goto __pyx_L112_next_or; } else { } __pyx_t_94 = ((__pyx_v_phi <= __pyx_v_L1) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L109_bool_binop_done; } __pyx_L112_next_or:; __pyx_t_94 = ((__pyx_v_L0 > __pyx_v_L1) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L109_bool_binop_done; } __pyx_t_94 = ((__pyx_v_phi >= __pyx_v_L0) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L109_bool_binop_done; } __pyx_t_94 = ((__pyx_v_phi <= __pyx_v_L1) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L109_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1966: # Get the scalar product to determine entry or exit point
+1967: sca = Ccos(phi)*vIn[0,jj]*us[0,ii] + Csin(phi)*vIn[0,jj]*us[1,ii] + vIn[1,jj]*us[2,ii]
__Pyx_TraceLine(1967,0,__PYX_ERR(0, 1967, __pyx_L1_error)) __pyx_t_214 = 0; __pyx_t_215 = __pyx_v_jj; __pyx_t_216 = 0; __pyx_t_217 = __pyx_v_ii; __pyx_t_218 = 0; __pyx_t_219 = __pyx_v_jj; __pyx_t_220 = 1; __pyx_t_221 = __pyx_v_ii; __pyx_t_222 = 1; __pyx_t_223 = __pyx_v_jj; __pyx_t_224 = 2; __pyx_t_225 = __pyx_v_ii; __pyx_v_sca = ((((cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_214 * __pyx_v_vIn.strides[0]) )) + __pyx_t_215)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_216 * __pyx_v_us.strides[0]) )) + __pyx_t_217)) )))) + ((sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_218 * __pyx_v_vIn.strides[0]) )) + __pyx_t_219)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_220 * __pyx_v_us.strides[0]) )) + __pyx_t_221)) ))))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_222 * __pyx_v_vIn.strides[0]) )) + __pyx_t_223)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_224 * __pyx_v_us.strides[0]) )) + __pyx_t_225)) )))));
+1968: if sca<=0 and k<kout:
__Pyx_TraceLine(1968,0,__PYX_ERR(0, 1968, __pyx_L1_error)) __pyx_t_94 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L118_bool_binop_done; } __pyx_t_94 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L118_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L117; }
+1969: kout = k
__Pyx_TraceLine(1969,0,__PYX_ERR(0, 1969, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+1970: indout = jj
__Pyx_TraceLine(1970,0,__PYX_ERR(0, 1970, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+1971: Done = 1
__Pyx_TraceLine(1971,0,__PYX_ERR(0, 1971, __pyx_L1_error)) __pyx_v_Done = 1;
1972: #print(7, k, q, A, B, C, sqd)
+1973: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(1973,0,__PYX_ERR(0, 1973, __pyx_L1_error)) __pyx_t_94 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L120_bool_binop_done; } __pyx_t_14 = __pyx_v_kout; __pyx_t_107 = __pyx_v_kin; if (((__pyx_t_14 < __pyx_t_107) != 0)) { __pyx_t_13 = __pyx_t_14; } else { __pyx_t_13 = __pyx_t_107; } __pyx_t_94 = ((__pyx_v_k < __pyx_t_13) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L120_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L117:;
+1974: kin = k
__Pyx_TraceLine(1974,0,__PYX_ERR(0, 1974, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+1975: indin = jj
__Pyx_TraceLine(1975,0,__PYX_ERR(0, 1975, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
1976: #print(8, k, jj)
1977:
1978: # Second solution
+1979: q = (-B - sqd)/A
__Pyx_TraceLine(1979,0,__PYX_ERR(0, 1979, __pyx_L1_error)) __pyx_v_q = (((-__pyx_v_B) - __pyx_v_sqd) / __pyx_v_A);
+1980: if q>=0. and q<1.:
__Pyx_TraceLine(1980,0,__PYX_ERR(0, 1980, __pyx_L1_error)) __pyx_t_94 = ((__pyx_v_q >= 0.) != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L123_bool_binop_done; } __pyx_t_94 = ((__pyx_v_q < 1.) != 0); __pyx_t_11 = __pyx_t_94; __pyx_L123_bool_binop_done:; if (__pyx_t_11) { /* … */ }
+1981: k = (q*v1 - (Ds[2,ii]-VPoly[1,jj]))/us[2,ii]
__Pyx_TraceLine(1981,0,__PYX_ERR(0, 1981, __pyx_L1_error)) __pyx_t_226 = 2; __pyx_t_227 = __pyx_v_ii; __pyx_t_228 = 1; __pyx_t_229 = __pyx_v_jj; __pyx_t_230 = 2; __pyx_t_231 = __pyx_v_ii; __pyx_v_k = (((__pyx_v_q * __pyx_v_v1) - ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_226 * __pyx_v_Ds.strides[0]) )) + __pyx_t_227)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_228 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_229)) ))))) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_230 * __pyx_v_us.strides[0]) )) + __pyx_t_231)) ))));
1982:
+1983: if k>=0.:
__Pyx_TraceLine(1983,0,__PYX_ERR(0, 1983, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_k >= 0.) != 0); if (__pyx_t_11) { /* … */ }
+1984: sol0, sol1 = Ds[0,ii] + k*us[0,ii], Ds[1,ii] + k*us[1,ii]
__Pyx_TraceLine(1984,0,__PYX_ERR(0, 1984, __pyx_L1_error)) __pyx_t_232 = 0; __pyx_t_233 = __pyx_v_ii; __pyx_t_234 = 0; __pyx_t_235 = __pyx_v_ii; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_232 * __pyx_v_Ds.strides[0]) )) + __pyx_t_233)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_234 * __pyx_v_us.strides[0]) )) + __pyx_t_235)) ))))); __pyx_t_236 = 1; __pyx_t_237 = __pyx_v_ii; __pyx_t_238 = 1; __pyx_t_239 = __pyx_v_ii; __pyx_t_14 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_236 * __pyx_v_Ds.strides[0]) )) + __pyx_t_237)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_238 * __pyx_v_us.strides[0]) )) + __pyx_t_239)) ))))); __pyx_v_sol0 = __pyx_t_13; __pyx_v_sol1 = __pyx_t_14;
+1985: if Forbidbis:
__Pyx_TraceLine(1985,0,__PYX_ERR(0, 1985, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Forbidbis != 0); if (__pyx_t_11) { /* … */ }
+1986: sca0 = (sol0-S1X)*Ds[0,ii] + (sol1-S1Y)*Ds[1,ii]
__Pyx_TraceLine(1986,0,__PYX_ERR(0, 1986, __pyx_L1_error)) __pyx_t_240 = 0; __pyx_t_241 = __pyx_v_ii; __pyx_t_242 = 1; __pyx_t_243 = __pyx_v_ii; __pyx_v_sca0 = (((__pyx_v_sol0 - __pyx_v_S1X) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_240 * __pyx_v_Ds.strides[0]) )) + __pyx_t_241)) )))) + ((__pyx_v_sol1 - __pyx_v_S1Y) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_242 * __pyx_v_Ds.strides[0]) )) + __pyx_t_243)) )))));
+1987: sca1 = (sol0-S1X)*S1X + (sol1-S1Y)*S1Y
__Pyx_TraceLine(1987,0,__PYX_ERR(0, 1987, __pyx_L1_error)) __pyx_v_sca1 = (((__pyx_v_sol0 - __pyx_v_S1X) * __pyx_v_S1X) + ((__pyx_v_sol1 - __pyx_v_S1Y) * __pyx_v_S1Y));
+1988: sca2 = (sol0-S2X)*S2X + (sol1-S2Y)*S2Y
__Pyx_TraceLine(1988,0,__PYX_ERR(0, 1988, __pyx_L1_error)) __pyx_v_sca2 = (((__pyx_v_sol0 - __pyx_v_S2X) * __pyx_v_S2X) + ((__pyx_v_sol1 - __pyx_v_S2Y) * __pyx_v_S2Y));
1989: #print 3, k, kout, sca0, sca1, sca2
+1990: if not Forbidbis or (Forbidbis and not (sca0<0 and sca1<0 and sca2<0)):
__Pyx_TraceLine(1990,0,__PYX_ERR(0, 1990, __pyx_L1_error)) __pyx_t_94 = ((!(__pyx_v_Forbidbis != 0)) != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L128_bool_binop_done; } __pyx_t_94 = (__pyx_v_Forbidbis != 0); if (__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L128_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca0 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_94 = __pyx_t_12; goto __pyx_L131_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca1 < 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_94 = __pyx_t_12; goto __pyx_L131_bool_binop_done; } __pyx_t_12 = ((__pyx_v_sca2 < 0.0) != 0); __pyx_t_94 = __pyx_t_12; __pyx_L131_bool_binop_done:; __pyx_t_12 = ((!__pyx_t_94) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L128_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1991: # Get the normalized perpendicular vector at intersection
+1992: phi = Catan2(sol1,sol0)
__Pyx_TraceLine(1992,0,__PYX_ERR(0, 1992, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_sol1, __pyx_v_sol0);
+1993: if Lim is None or (Lim is not None and ((L0<L1 and L0<=phi and phi<=L1) or (L0>L1 and (phi>=L0 or phi<=L1)))):
__Pyx_TraceLine(1993,0,__PYX_ERR(0, 1993, __pyx_L1_error)) __pyx_t_12 = (__pyx_v_Lim == Py_None); __pyx_t_94 = (__pyx_t_12 != 0); if (!__pyx_t_94) { } else { __pyx_t_11 = __pyx_t_94; goto __pyx_L135_bool_binop_done; } __pyx_t_94 = (__pyx_v_Lim != Py_None); __pyx_t_12 = (__pyx_t_94 != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L135_bool_binop_done; } __pyx_t_12 = ((__pyx_v_L0 < __pyx_v_L1) != 0); if (!__pyx_t_12) { goto __pyx_L138_next_or; } else { } __pyx_t_12 = ((__pyx_v_L0 <= __pyx_v_phi) != 0); if (!__pyx_t_12) { goto __pyx_L138_next_or; } else { } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L135_bool_binop_done; } __pyx_L138_next_or:; __pyx_t_12 = ((__pyx_v_L0 > __pyx_v_L1) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L135_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi >= __pyx_v_L0) != 0); if (!__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L135_bool_binop_done; } __pyx_t_12 = ((__pyx_v_phi <= __pyx_v_L1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L135_bool_binop_done:; if (__pyx_t_11) { /* … */ }
1994: # Get the scalar product to determine entry or exit point
+1995: sca = Ccos(phi)*vIn[0,jj]*us[0,ii] + Csin(phi)*vIn[0,jj]*us[1,ii] + vIn[1,jj]*us[2,ii]
__Pyx_TraceLine(1995,0,__PYX_ERR(0, 1995, __pyx_L1_error)) __pyx_t_244 = 0; __pyx_t_245 = __pyx_v_jj; __pyx_t_246 = 0; __pyx_t_247 = __pyx_v_ii; __pyx_t_248 = 0; __pyx_t_249 = __pyx_v_jj; __pyx_t_250 = 1; __pyx_t_251 = __pyx_v_ii; __pyx_t_252 = 1; __pyx_t_253 = __pyx_v_jj; __pyx_t_254 = 2; __pyx_t_255 = __pyx_v_ii; __pyx_v_sca = ((((cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_244 * __pyx_v_vIn.strides[0]) )) + __pyx_t_245)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_246 * __pyx_v_us.strides[0]) )) + __pyx_t_247)) )))) + ((sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_248 * __pyx_v_vIn.strides[0]) )) + __pyx_t_249)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_250 * __pyx_v_us.strides[0]) )) + __pyx_t_251)) ))))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_252 * __pyx_v_vIn.strides[0]) )) + __pyx_t_253)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_254 * __pyx_v_us.strides[0]) )) + __pyx_t_255)) )))));
+1996: if sca<=0 and k<kout:
__Pyx_TraceLine(1996,0,__PYX_ERR(0, 1996, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L144_bool_binop_done; } __pyx_t_12 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L144_bool_binop_done:; if (__pyx_t_11) { /* … */ goto __pyx_L143; }
+1997: kout = k
__Pyx_TraceLine(1997,0,__PYX_ERR(0, 1997, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+1998: indout = jj
__Pyx_TraceLine(1998,0,__PYX_ERR(0, 1998, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+1999: Done = 1
__Pyx_TraceLine(1999,0,__PYX_ERR(0, 1999, __pyx_L1_error)) __pyx_v_Done = 1;
2000: #print(9, k, jj)
+2001: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(2001,0,__PYX_ERR(0, 2001, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_12) { } else { __pyx_t_11 = __pyx_t_12; goto __pyx_L146_bool_binop_done; } __pyx_t_14 = __pyx_v_kout; __pyx_t_13 = __pyx_v_kin; if (((__pyx_t_14 < __pyx_t_13) != 0)) { __pyx_t_107 = __pyx_t_14; } else { __pyx_t_107 = __pyx_t_13; } __pyx_t_12 = ((__pyx_v_k < __pyx_t_107) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L146_bool_binop_done:; if (__pyx_t_11) { /* … */ } __pyx_L143:;
+2002: kin = k
__Pyx_TraceLine(2002,0,__PYX_ERR(0, 2002, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+2003: indin = jj
__Pyx_TraceLine(2003,0,__PYX_ERR(0, 2003, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
2004: #print(10, k, q, A, B, C, sqd, v0, v1, jj)
2005:
+2006: if Lim is not None:
__Pyx_TraceLine(2006,0,__PYX_ERR(0, 2006, __pyx_L1_error)) __pyx_t_11 = (__pyx_v_Lim != Py_None); __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ }
+2007: ephiIn0, ephiIn1 = -Csin(L0), Ccos(L0)
__Pyx_TraceLine(2007,0,__PYX_ERR(0, 2007, __pyx_L1_error)) __pyx_t_107 = (-sin(__pyx_v_L0)); __pyx_t_14 = cos(__pyx_v_L0); __pyx_v_ephiIn0 = __pyx_t_107; __pyx_v_ephiIn1 = __pyx_t_14;
+2008: if Cabs(us[0,ii]*ephiIn0+us[1,ii]*ephiIn1)>EpsPlane:
__Pyx_TraceLine(2008,0,__PYX_ERR(0, 2008, __pyx_L1_error)) __pyx_t_256 = 0; __pyx_t_257 = __pyx_v_ii; __pyx_t_258 = 1; __pyx_t_259 = __pyx_v_ii; __pyx_t_12 = ((fabs((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_256 * __pyx_v_us.strides[0]) )) + __pyx_t_257)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_258 * __pyx_v_us.strides[0]) )) + __pyx_t_259)) ))) * __pyx_v_ephiIn1))) > __pyx_v_EpsPlane) != 0); if (__pyx_t_12) { /* … */ }
+2009: k = -(Ds[0,ii]*ephiIn0+Ds[1,ii]*ephiIn1)/(us[0,ii]*ephiIn0+us[1,ii]*ephiIn1)
__Pyx_TraceLine(2009,0,__PYX_ERR(0, 2009, __pyx_L1_error)) __pyx_t_260 = 0; __pyx_t_261 = __pyx_v_ii; __pyx_t_262 = 1; __pyx_t_263 = __pyx_v_ii; __pyx_t_264 = 0; __pyx_t_265 = __pyx_v_ii; __pyx_t_266 = 1; __pyx_t_267 = __pyx_v_ii; __pyx_v_k = ((-(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_260 * __pyx_v_Ds.strides[0]) )) + __pyx_t_261)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_262 * __pyx_v_Ds.strides[0]) )) + __pyx_t_263)) ))) * __pyx_v_ephiIn1))) / (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_264 * __pyx_v_us.strides[0]) )) + __pyx_t_265)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_266 * __pyx_v_us.strides[0]) )) + __pyx_t_267)) ))) * __pyx_v_ephiIn1)));
+2010: if k>=0:
__Pyx_TraceLine(2010,0,__PYX_ERR(0, 2010, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_k >= 0.0) != 0); if (__pyx_t_12) { /* … */ }
2011: # Check if in VPoly
+2012: sol0, sol1 = (Ds[0,ii]+k*us[0,ii])*Ccos(L0) + (Ds[1,ii]+k*us[1,ii])*Csin(L0), Ds[2,ii]+k*us[2,ii]
__Pyx_TraceLine(2012,0,__PYX_ERR(0, 2012, __pyx_L1_error)) __pyx_t_268 = 0; __pyx_t_269 = __pyx_v_ii; __pyx_t_270 = 0; __pyx_t_271 = __pyx_v_ii; __pyx_t_272 = 1; __pyx_t_273 = __pyx_v_ii; __pyx_t_274 = 1; __pyx_t_275 = __pyx_v_ii; __pyx_t_14 = ((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_268 * __pyx_v_Ds.strides[0]) )) + __pyx_t_269)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_270 * __pyx_v_us.strides[0]) )) + __pyx_t_271)) ))))) * cos(__pyx_v_L0)) + (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_272 * __pyx_v_Ds.strides[0]) )) + __pyx_t_273)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_274 * __pyx_v_us.strides[0]) )) + __pyx_t_275)) ))))) * sin(__pyx_v_L0))); __pyx_t_276 = 2; __pyx_t_277 = __pyx_v_ii; __pyx_t_278 = 2; __pyx_t_279 = __pyx_v_ii; __pyx_t_107 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_276 * __pyx_v_Ds.strides[0]) )) + __pyx_t_277)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_278 * __pyx_v_us.strides[0]) )) + __pyx_t_279)) ))))); __pyx_v_sol0 = __pyx_t_14; __pyx_v_sol1 = __pyx_t_107;
+2013: if Path(VPoly.T).contains_point([sol0,sol1], transform=None, radius=0.0):
__Pyx_TraceLine(2013,0,__PYX_ERR(0, 2013, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_280 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_280, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_280) == 0)) __PYX_ERR(0, 2013, __pyx_L1_error) __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_280, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_280, 1); __pyx_t_280.memview = NULL; __pyx_t_280.data = NULL; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_contains_point); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_sol0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_sol1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 2013, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 2013, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 2013, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_12) { /* … */ }
2014: # Check PIn (POut not possible for limited torus)
+2015: sca = us[0,ii]*ephiIn0 + us[1,ii]*ephiIn1
__Pyx_TraceLine(2015,0,__PYX_ERR(0, 2015, __pyx_L1_error)) __pyx_t_281 = 0; __pyx_t_282 = __pyx_v_ii; __pyx_t_283 = 1; __pyx_t_284 = __pyx_v_ii; __pyx_v_sca = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_281 * __pyx_v_us.strides[0]) )) + __pyx_t_282)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_283 * __pyx_v_us.strides[0]) )) + __pyx_t_284)) ))) * __pyx_v_ephiIn1));
+2016: if sca<=0 and k<kout:
__Pyx_TraceLine(2016,0,__PYX_ERR(0, 2016, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_11) { } else { __pyx_t_12 = __pyx_t_11; goto __pyx_L153_bool_binop_done; } __pyx_t_11 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_12 = __pyx_t_11; __pyx_L153_bool_binop_done:; if (__pyx_t_12) { /* … */ goto __pyx_L152; }
+2017: kout = k
__Pyx_TraceLine(2017,0,__PYX_ERR(0, 2017, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+2018: indout = -1
__Pyx_TraceLine(2018,0,__PYX_ERR(0, 2018, __pyx_L1_error)) __pyx_v_indout = -1;
+2019: Done = 1
__Pyx_TraceLine(2019,0,__PYX_ERR(0, 2019, __pyx_L1_error)) __pyx_v_Done = 1;
+2020: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(2020,0,__PYX_ERR(0, 2020, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_11) { } else { __pyx_t_12 = __pyx_t_11; goto __pyx_L155_bool_binop_done; } __pyx_t_107 = __pyx_v_kout; __pyx_t_14 = __pyx_v_kin; if (((__pyx_t_107 < __pyx_t_14) != 0)) { __pyx_t_13 = __pyx_t_107; } else { __pyx_t_13 = __pyx_t_14; } __pyx_t_11 = ((__pyx_v_k < __pyx_t_13) != 0); __pyx_t_12 = __pyx_t_11; __pyx_L155_bool_binop_done:; if (__pyx_t_12) { /* … */ } __pyx_L152:;
+2021: kin = k
__Pyx_TraceLine(2021,0,__PYX_ERR(0, 2021, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+2022: indin = -1
__Pyx_TraceLine(2022,0,__PYX_ERR(0, 2022, __pyx_L1_error)) __pyx_v_indin = -1;
2023:
+2024: ephiIn0, ephiIn1 = Csin(L1), -Ccos(L1)
__Pyx_TraceLine(2024,0,__PYX_ERR(0, 2024, __pyx_L1_error)) __pyx_t_13 = sin(__pyx_v_L1); __pyx_t_107 = (-cos(__pyx_v_L1)); __pyx_v_ephiIn0 = __pyx_t_13; __pyx_v_ephiIn1 = __pyx_t_107;
+2025: if Cabs(us[0,ii]*ephiIn0+us[1,ii]*ephiIn1)>EpsPlane:
__Pyx_TraceLine(2025,0,__PYX_ERR(0, 2025, __pyx_L1_error)) __pyx_t_285 = 0; __pyx_t_286 = __pyx_v_ii; __pyx_t_287 = 1; __pyx_t_288 = __pyx_v_ii; __pyx_t_12 = ((fabs((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_285 * __pyx_v_us.strides[0]) )) + __pyx_t_286)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_287 * __pyx_v_us.strides[0]) )) + __pyx_t_288)) ))) * __pyx_v_ephiIn1))) > __pyx_v_EpsPlane) != 0); if (__pyx_t_12) { /* … */ }
+2026: k = -(Ds[0,ii]*ephiIn0+Ds[1,ii]*ephiIn1)/(us[0,ii]*ephiIn0+us[1,ii]*ephiIn1)
__Pyx_TraceLine(2026,0,__PYX_ERR(0, 2026, __pyx_L1_error)) __pyx_t_289 = 0; __pyx_t_290 = __pyx_v_ii; __pyx_t_291 = 1; __pyx_t_292 = __pyx_v_ii; __pyx_t_293 = 0; __pyx_t_294 = __pyx_v_ii; __pyx_t_295 = 1; __pyx_t_296 = __pyx_v_ii; __pyx_v_k = ((-(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_289 * __pyx_v_Ds.strides[0]) )) + __pyx_t_290)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_291 * __pyx_v_Ds.strides[0]) )) + __pyx_t_292)) ))) * __pyx_v_ephiIn1))) / (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_293 * __pyx_v_us.strides[0]) )) + __pyx_t_294)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_295 * __pyx_v_us.strides[0]) )) + __pyx_t_296)) ))) * __pyx_v_ephiIn1)));
+2027: if k>=0:
__Pyx_TraceLine(2027,0,__PYX_ERR(0, 2027, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_k >= 0.0) != 0); if (__pyx_t_12) { /* … */ }
+2028: sol0, sol1 = (Ds[0,ii]+k*us[0,ii])*Ccos(L1) + (Ds[1,ii]+k*us[1,ii])*Csin(L1), Ds[2,ii]+k*us[2,ii]
__Pyx_TraceLine(2028,0,__PYX_ERR(0, 2028, __pyx_L1_error)) __pyx_t_297 = 0; __pyx_t_298 = __pyx_v_ii; __pyx_t_299 = 0; __pyx_t_300 = __pyx_v_ii; __pyx_t_301 = 1; __pyx_t_302 = __pyx_v_ii; __pyx_t_303 = 1; __pyx_t_304 = __pyx_v_ii; __pyx_t_107 = ((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_297 * __pyx_v_Ds.strides[0]) )) + __pyx_t_298)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_299 * __pyx_v_us.strides[0]) )) + __pyx_t_300)) ))))) * cos(__pyx_v_L1)) + (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_301 * __pyx_v_Ds.strides[0]) )) + __pyx_t_302)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_303 * __pyx_v_us.strides[0]) )) + __pyx_t_304)) ))))) * sin(__pyx_v_L1))); __pyx_t_305 = 2; __pyx_t_306 = __pyx_v_ii; __pyx_t_307 = 2; __pyx_t_308 = __pyx_v_ii; __pyx_t_13 = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_305 * __pyx_v_Ds.strides[0]) )) + __pyx_t_306)) ))) + (__pyx_v_k * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_307 * __pyx_v_us.strides[0]) )) + __pyx_t_308)) ))))); __pyx_v_sol0 = __pyx_t_107; __pyx_v_sol1 = __pyx_t_13;
2029: # Check if in VPoly
+2030: if Path(VPoly.T).contains_point([sol0,sol1], transform=None, radius=0.0):
__Pyx_TraceLine(2030,0,__PYX_ERR(0, 2030, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_280 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_280, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_280) == 0)) __PYX_ERR(0, 2030, __pyx_L1_error) __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_280, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_280, 1); __pyx_t_280.memview = NULL; __pyx_t_280.data = NULL; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_contains_point); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_sol0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_sol1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 2030, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 2030, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_12) { /* … */ }
2031: # Check PIn (POut not possible for limited torus)
+2032: sca = us[0,ii]*ephiIn0 + us[1,ii]*ephiIn1
__Pyx_TraceLine(2032,0,__PYX_ERR(0, 2032, __pyx_L1_error)) __pyx_t_309 = 0; __pyx_t_310 = __pyx_v_ii; __pyx_t_311 = 1; __pyx_t_312 = __pyx_v_ii; __pyx_v_sca = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_309 * __pyx_v_us.strides[0]) )) + __pyx_t_310)) ))) * __pyx_v_ephiIn0) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_311 * __pyx_v_us.strides[0]) )) + __pyx_t_312)) ))) * __pyx_v_ephiIn1));
+2033: if sca<=0 and k<kout:
__Pyx_TraceLine(2033,0,__PYX_ERR(0, 2033, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_11) { } else { __pyx_t_12 = __pyx_t_11; goto __pyx_L161_bool_binop_done; } __pyx_t_11 = ((__pyx_v_k < __pyx_v_kout) != 0); __pyx_t_12 = __pyx_t_11; __pyx_L161_bool_binop_done:; if (__pyx_t_12) { /* … */ goto __pyx_L160; }
+2034: kout = k
__Pyx_TraceLine(2034,0,__PYX_ERR(0, 2034, __pyx_L1_error)) __pyx_v_kout = __pyx_v_k;
+2035: indout = -2
__Pyx_TraceLine(2035,0,__PYX_ERR(0, 2035, __pyx_L1_error)) __pyx_v_indout = -2;
+2036: Done = 1
__Pyx_TraceLine(2036,0,__PYX_ERR(0, 2036, __pyx_L1_error)) __pyx_v_Done = 1;
+2037: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(2037,0,__PYX_ERR(0, 2037, __pyx_L1_error)) __pyx_t_11 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_11) { } else { __pyx_t_12 = __pyx_t_11; goto __pyx_L163_bool_binop_done; } __pyx_t_13 = __pyx_v_kout; __pyx_t_107 = __pyx_v_kin; if (((__pyx_t_13 < __pyx_t_107) != 0)) { __pyx_t_14 = __pyx_t_13; } else { __pyx_t_14 = __pyx_t_107; } __pyx_t_11 = ((__pyx_v_k < __pyx_t_14) != 0); __pyx_t_12 = __pyx_t_11; __pyx_L163_bool_binop_done:; if (__pyx_t_12) { /* … */ } __pyx_L160:;
+2038: kin = k
__Pyx_TraceLine(2038,0,__PYX_ERR(0, 2038, __pyx_L1_error)) __pyx_v_kin = __pyx_v_k;
+2039: indin = -2
__Pyx_TraceLine(2039,0,__PYX_ERR(0, 2039, __pyx_L1_error)) __pyx_v_indin = -2;
2040:
+2041: if Done==1:
__Pyx_TraceLine(2041,0,__PYX_ERR(0, 2041, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_Done == 1) != 0); if (__pyx_t_12) { /* … */ } }
+2042: SOut[0,ii] = Ds[0,ii] + kout*us[0,ii]
__Pyx_TraceLine(2042,0,__PYX_ERR(0, 2042, __pyx_L1_error)) __pyx_t_313 = 0; __pyx_t_314 = __pyx_v_ii; __pyx_t_315 = 0; __pyx_t_316 = __pyx_v_ii; __pyx_t_317 = 0; __pyx_t_318 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_317 * __pyx_v_SOut.strides[0]) )) + __pyx_t_318)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_313 * __pyx_v_Ds.strides[0]) )) + __pyx_t_314)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_315 * __pyx_v_us.strides[0]) )) + __pyx_t_316)) )))));
+2043: SOut[1,ii] = Ds[1,ii] + kout*us[1,ii]
__Pyx_TraceLine(2043,0,__PYX_ERR(0, 2043, __pyx_L1_error)) __pyx_t_319 = 1; __pyx_t_320 = __pyx_v_ii; __pyx_t_321 = 1; __pyx_t_322 = __pyx_v_ii; __pyx_t_323 = 1; __pyx_t_324 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_323 * __pyx_v_SOut.strides[0]) )) + __pyx_t_324)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_319 * __pyx_v_Ds.strides[0]) )) + __pyx_t_320)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_321 * __pyx_v_us.strides[0]) )) + __pyx_t_322)) )))));
+2044: SOut[2,ii] = Ds[2,ii] + kout*us[2,ii]
__Pyx_TraceLine(2044,0,__PYX_ERR(0, 2044, __pyx_L1_error)) __pyx_t_325 = 2; __pyx_t_326 = __pyx_v_ii; __pyx_t_327 = 2; __pyx_t_328 = __pyx_v_ii; __pyx_t_329 = 2; __pyx_t_330 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_329 * __pyx_v_SOut.strides[0]) )) + __pyx_t_330)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_325 * __pyx_v_Ds.strides[0]) )) + __pyx_t_326)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_327 * __pyx_v_us.strides[0]) )) + __pyx_t_328)) )))));
+2045: phi = Catan2(SOut[1,ii],SOut[0,ii])
__Pyx_TraceLine(2045,0,__PYX_ERR(0, 2045, __pyx_L1_error)) __pyx_t_331 = 1; __pyx_t_332 = __pyx_v_ii; __pyx_t_333 = 0; __pyx_t_334 = __pyx_v_ii; __pyx_v_phi = atan2((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_331 * __pyx_v_SOut.strides[0]) )) + __pyx_t_332)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_333 * __pyx_v_SOut.strides[0]) )) + __pyx_t_334)) ))));
+2046: if indout==-1:
__Pyx_TraceLine(2046,0,__PYX_ERR(0, 2046, __pyx_L1_error)) switch (__pyx_v_indout) { case -1L: /* … */ break; case -2L:
+2047: VPerpOut[0,ii] = -Csin(L0)
__Pyx_TraceLine(2047,0,__PYX_ERR(0, 2047, __pyx_L1_error)) __pyx_t_335 = 0; __pyx_t_336 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_335 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_336)) )) = (-sin(__pyx_v_L0));
+2048: VPerpOut[1,ii] = Ccos(L0)
__Pyx_TraceLine(2048,0,__PYX_ERR(0, 2048, __pyx_L1_error)) __pyx_t_337 = 1; __pyx_t_338 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_337 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_338)) )) = cos(__pyx_v_L0);
+2049: VPerpOut[2,ii] = 0.
__Pyx_TraceLine(2049,0,__PYX_ERR(0, 2049, __pyx_L1_error)) __pyx_t_339 = 2; __pyx_t_340 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_339 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_340)) )) = 0.;
+2050: elif indout==-2:
break;
default:
+2051: VPerpOut[0,ii] = Csin(L1)
__Pyx_TraceLine(2051,0,__PYX_ERR(0, 2051, __pyx_L1_error)) __pyx_t_341 = 0; __pyx_t_342 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_341 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_342)) )) = sin(__pyx_v_L1);
+2052: VPerpOut[1,ii] = -Ccos(L1)
__Pyx_TraceLine(2052,0,__PYX_ERR(0, 2052, __pyx_L1_error)) __pyx_t_343 = 1; __pyx_t_344 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_343 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_344)) )) = (-cos(__pyx_v_L1));
+2053: VPerpOut[2,ii] = 0.
__Pyx_TraceLine(2053,0,__PYX_ERR(0, 2053, __pyx_L1_error)) __pyx_t_345 = 2; __pyx_t_346 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_345 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_346)) )) = 0.;
2054: else:
+2055: VPerpOut[0,ii] = Ccos(phi)*vIn[0,indout]
__Pyx_TraceLine(2055,0,__PYX_ERR(0, 2055, __pyx_L1_error)) __pyx_t_347 = 0; __pyx_t_348 = __pyx_v_indout; __pyx_t_349 = 0; __pyx_t_350 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_349 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_350)) )) = (cos(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_347 * __pyx_v_vIn.strides[0]) )) + __pyx_t_348)) ))));
+2056: VPerpOut[1,ii] = Csin(phi)*vIn[0,indout]
__Pyx_TraceLine(2056,0,__PYX_ERR(0, 2056, __pyx_L1_error)) __pyx_t_351 = 0; __pyx_t_352 = __pyx_v_indout; __pyx_t_353 = 1; __pyx_t_354 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_353 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_354)) )) = (sin(__pyx_v_phi) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_351 * __pyx_v_vIn.strides[0]) )) + __pyx_t_352)) ))));
+2057: VPerpOut[2,ii] = vIn[1,indout]
__Pyx_TraceLine(2057,0,__PYX_ERR(0, 2057, __pyx_L1_error)) __pyx_t_355 = 1; __pyx_t_356 = __pyx_v_indout; __pyx_t_357 = 2; __pyx_t_358 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_357 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_358)) )) = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_355 * __pyx_v_vIn.strides[0]) )) + __pyx_t_356)) ))); break; }
+2058: indOut[ii] = indout
__Pyx_TraceLine(2058,0,__PYX_ERR(0, 2058, __pyx_L1_error)) __pyx_t_359 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_indOut.data) + __pyx_t_359)) )) = __pyx_v_indout;
+2059: if kin<kout:
__Pyx_TraceLine(2059,0,__PYX_ERR(0, 2059, __pyx_L1_error)) __pyx_t_12 = ((__pyx_v_kin < __pyx_v_kout) != 0); if (__pyx_t_12) { /* … */ }
+2060: SIn[0,ii] = Ds[0,ii] + kin*us[0,ii]
__Pyx_TraceLine(2060,0,__PYX_ERR(0, 2060, __pyx_L1_error)) __pyx_t_360 = 0; __pyx_t_361 = __pyx_v_ii; __pyx_t_362 = 0; __pyx_t_363 = __pyx_v_ii; __pyx_t_364 = 0; __pyx_t_365 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_364 * __pyx_v_SIn.strides[0]) )) + __pyx_t_365)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_360 * __pyx_v_Ds.strides[0]) )) + __pyx_t_361)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_362 * __pyx_v_us.strides[0]) )) + __pyx_t_363)) )))));
+2061: SIn[1,ii] = Ds[1,ii] + kin*us[1,ii]
__Pyx_TraceLine(2061,0,__PYX_ERR(0, 2061, __pyx_L1_error)) __pyx_t_366 = 1; __pyx_t_367 = __pyx_v_ii; __pyx_t_368 = 1; __pyx_t_369 = __pyx_v_ii; __pyx_t_370 = 1; __pyx_t_371 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_370 * __pyx_v_SIn.strides[0]) )) + __pyx_t_371)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_366 * __pyx_v_Ds.strides[0]) )) + __pyx_t_367)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_368 * __pyx_v_us.strides[0]) )) + __pyx_t_369)) )))));
+2062: SIn[2,ii] = Ds[2,ii] + kin*us[2,ii]
__Pyx_TraceLine(2062,0,__PYX_ERR(0, 2062, __pyx_L1_error)) __pyx_t_372 = 2; __pyx_t_373 = __pyx_v_ii; __pyx_t_374 = 2; __pyx_t_375 = __pyx_v_ii; __pyx_t_376 = 2; __pyx_t_377 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_376 * __pyx_v_SIn.strides[0]) )) + __pyx_t_377)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_372 * __pyx_v_Ds.strides[0]) )) + __pyx_t_373)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_374 * __pyx_v_us.strides[0]) )) + __pyx_t_375)) )))));
+2063: phi = Catan2(SIn[1,ii],SIn[0,ii])
__Pyx_TraceLine(2063,0,__PYX_ERR(0, 2063, __pyx_L1_error)) __pyx_t_378 = 1; __pyx_t_379 = __pyx_v_ii; __pyx_t_380 = 0; __pyx_t_381 = __pyx_v_ii; __pyx_v_phi = atan2((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_378 * __pyx_v_SIn.strides[0]) )) + __pyx_t_379)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_380 * __pyx_v_SIn.strides[0]) )) + __pyx_t_381)) ))));
+2064: if indin==-1:
__Pyx_TraceLine(2064,0,__PYX_ERR(0, 2064, __pyx_L1_error)) switch (__pyx_v_indin) { case -1L: /* … */ break; case -2L:
+2065: VPerpIn[0,ii] = Csin(L0)
__Pyx_TraceLine(2065,0,__PYX_ERR(0, 2065, __pyx_L1_error)) __pyx_t_382 = 0; __pyx_t_383 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_382 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_383)) )) = sin(__pyx_v_L0);
+2066: VPerpIn[1,ii] = -Ccos(L0)
__Pyx_TraceLine(2066,0,__PYX_ERR(0, 2066, __pyx_L1_error)) __pyx_t_384 = 1; __pyx_t_385 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_384 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_385)) )) = (-cos(__pyx_v_L0));
+2067: VPerpIn[2,ii] = 0.
__Pyx_TraceLine(2067,0,__PYX_ERR(0, 2067, __pyx_L1_error)) __pyx_t_386 = 2; __pyx_t_387 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_386 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_387)) )) = 0.;
+2068: elif indin==-2:
break;
default:
+2069: VPerpIn[0,ii] = -Csin(L1)
__Pyx_TraceLine(2069,0,__PYX_ERR(0, 2069, __pyx_L1_error)) __pyx_t_388 = 0; __pyx_t_389 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_388 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_389)) )) = (-sin(__pyx_v_L1));
+2070: VPerpIn[1,ii] = Ccos(L1)
__Pyx_TraceLine(2070,0,__PYX_ERR(0, 2070, __pyx_L1_error)) __pyx_t_390 = 1; __pyx_t_391 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_390 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_391)) )) = cos(__pyx_v_L1);
+2071: VPerpIn[2,ii] = 0.
__Pyx_TraceLine(2071,0,__PYX_ERR(0, 2071, __pyx_L1_error)) __pyx_t_392 = 2; __pyx_t_393 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_392 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_393)) )) = 0.;
2072: else:
+2073: VPerpIn[0,ii] = -Ccos(phi)*vIn[0,indin]
__Pyx_TraceLine(2073,0,__PYX_ERR(0, 2073, __pyx_L1_error)) __pyx_t_394 = 0; __pyx_t_395 = __pyx_v_indin; __pyx_t_396 = 0; __pyx_t_397 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_396 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_397)) )) = ((-cos(__pyx_v_phi)) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_394 * __pyx_v_vIn.strides[0]) )) + __pyx_t_395)) ))));
+2074: VPerpIn[1,ii] = -Csin(phi)*vIn[0,indin]
__Pyx_TraceLine(2074,0,__PYX_ERR(0, 2074, __pyx_L1_error)) __pyx_t_398 = 0; __pyx_t_399 = __pyx_v_indin; __pyx_t_400 = 1; __pyx_t_401 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_400 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_401)) )) = ((-sin(__pyx_v_phi)) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_398 * __pyx_v_vIn.strides[0]) )) + __pyx_t_399)) ))));
+2075: VPerpIn[2,ii] = -vIn[1,indin]
__Pyx_TraceLine(2075,0,__PYX_ERR(0, 2075, __pyx_L1_error)) __pyx_t_402 = 1; __pyx_t_403 = __pyx_v_indin; __pyx_t_404 = 2; __pyx_t_405 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_404 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_405)) )) = (-(*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_vIn.data + __pyx_t_402 * __pyx_v_vIn.strides[0]) )) + __pyx_t_403)) )))); break; }
+2076: indIn[ii] = indin
__Pyx_TraceLine(2076,0,__PYX_ERR(0, 2076, __pyx_L1_error)) __pyx_t_406 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_indIn.data) + __pyx_t_406)) )) = __pyx_v_indin;
2077:
+2078: return np.asarray(SIn), np.asarray(SOut), np.asarray(VPerpIn), np.asarray(VPerpOut), np.asarray(indIn), np.asarray(indOut)
__Pyx_TraceLine(2078,0,__PYX_ERR(0, 2078, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_SIn, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_SOut, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_2 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_18, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_VPerpIn, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); } } __pyx_t_1 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_15, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_3); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_VPerpOut, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_18 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_indIn, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_16 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_15 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_16, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_indOut, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_407 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { __pyx_t_407 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_407)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_407); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_5 = (__pyx_t_407) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_407, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_3); __Pyx_XDECREF(__pyx_t_407); __pyx_t_407 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyTuple_New(6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_16, 3, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 4, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_16, 5, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_18 = 0; __pyx_t_15 = 0; __pyx_t_5 = 0; __pyx_r = __pyx_t_16; __pyx_t_16 = 0; goto __pyx_L0;
2079:
2080:
2081: @cython.cdivision(True)
2082: @cython.wraparound(False)
2083: @cython.boundscheck(False)
+2084: cdef Calc_LOS_PInOut_Lin(double[:,::1] Ds, double [:,::1] us, double[:,::1] VPoly, double[:,::1] VIn, Lim, double EpsPlane=1.e-9):
static PyObject *__pyx_f_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin(__Pyx_memviewslice __pyx_v_Ds, __Pyx_memviewslice __pyx_v_us, __Pyx_memviewslice __pyx_v_VPoly, __Pyx_memviewslice __pyx_v_VIn, PyObject *__pyx_v_Lim, struct __pyx_opt_args_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin *__pyx_optional_args) {
double __pyx_v_EpsPlane = ((double)1.e-9);
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_Nl;
int __pyx_v_Ns;
double __pyx_v_kin;
double __pyx_v_kout;
double __pyx_v_scauVin;
double __pyx_v_q;
double __pyx_v_X;
double __pyx_v_sca;
double __pyx_v_L0;
double __pyx_v_L1;
int __pyx_v_indin;
int __pyx_v_indout;
int __pyx_v_Done;
PyArrayObject *__pyx_v_SIn_ = 0;
PyArrayObject *__pyx_v_SOut_ = 0;
PyArrayObject *__pyx_v_VPerp_In = 0;
PyArrayObject *__pyx_v_VPerp_Out = 0;
PyArrayObject *__pyx_v_indIn_ = 0;
PyArrayObject *__pyx_v_indOut_ = 0;
__Pyx_memviewslice __pyx_v_SIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_SOut = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_VPerpIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_VPerpOut = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indIn = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_indOut = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_V1 = NULL;
PyObject *__pyx_v_V2 = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_SIn_;
__Pyx_Buffer __pyx_pybuffer_SIn_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_SOut_;
__Pyx_Buffer __pyx_pybuffer_SOut_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPerp_In;
__Pyx_Buffer __pyx_pybuffer_VPerp_In;
__Pyx_LocalBuf_ND __pyx_pybuffernd_VPerp_Out;
__Pyx_Buffer __pyx_pybuffer_VPerp_Out;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indIn_;
__Pyx_Buffer __pyx_pybuffer_indIn_;
__Pyx_LocalBuf_ND __pyx_pybuffernd_indOut_;
__Pyx_Buffer __pyx_pybuffer_indOut_;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Calc_LOS_PInOut_Lin", 0);
__Pyx_TraceCall("Calc_LOS_PInOut_Lin", __pyx_f[0], 2084, 0, __PYX_ERR(0, 2084, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_EpsPlane = __pyx_optional_args->EpsPlane;
}
}
__pyx_pybuffer_SIn_.pybuffer.buf = NULL;
__pyx_pybuffer_SIn_.refcount = 0;
__pyx_pybuffernd_SIn_.data = NULL;
__pyx_pybuffernd_SIn_.rcbuffer = &__pyx_pybuffer_SIn_;
__pyx_pybuffer_SOut_.pybuffer.buf = NULL;
__pyx_pybuffer_SOut_.refcount = 0;
__pyx_pybuffernd_SOut_.data = NULL;
__pyx_pybuffernd_SOut_.rcbuffer = &__pyx_pybuffer_SOut_;
__pyx_pybuffer_VPerp_In.pybuffer.buf = NULL;
__pyx_pybuffer_VPerp_In.refcount = 0;
__pyx_pybuffernd_VPerp_In.data = NULL;
__pyx_pybuffernd_VPerp_In.rcbuffer = &__pyx_pybuffer_VPerp_In;
__pyx_pybuffer_VPerp_Out.pybuffer.buf = NULL;
__pyx_pybuffer_VPerp_Out.refcount = 0;
__pyx_pybuffernd_VPerp_Out.data = NULL;
__pyx_pybuffernd_VPerp_Out.rcbuffer = &__pyx_pybuffer_VPerp_Out;
__pyx_pybuffer_indIn_.pybuffer.buf = NULL;
__pyx_pybuffer_indIn_.refcount = 0;
__pyx_pybuffernd_indIn_.data = NULL;
__pyx_pybuffernd_indIn_.rcbuffer = &__pyx_pybuffer_indIn_;
__pyx_pybuffer_indOut_.pybuffer.buf = NULL;
__pyx_pybuffer_indOut_.refcount = 0;
__pyx_pybuffernd_indOut_.data = NULL;
__pyx_pybuffernd_indOut_.rcbuffer = &__pyx_pybuffer_indOut_;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XDEC_MEMVIEW(&__pyx_t_10, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_11, 1);
__PYX_XDEC_MEMVIEW(&__pyx_t_80, 1);
__Pyx_XDECREF(__pyx_t_191);
__Pyx_XDECREF(__pyx_t_192);
__Pyx_XDECREF(__pyx_t_193);
__Pyx_XDECREF(__pyx_t_194);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Calc_LOS_PInOut_Lin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF((PyObject *)__pyx_v_SIn_);
__Pyx_XDECREF((PyObject *)__pyx_v_SOut_);
__Pyx_XDECREF((PyObject *)__pyx_v_VPerp_In);
__Pyx_XDECREF((PyObject *)__pyx_v_VPerp_Out);
__Pyx_XDECREF((PyObject *)__pyx_v_indIn_);
__Pyx_XDECREF((PyObject *)__pyx_v_indOut_);
__PYX_XDEC_MEMVIEW(&__pyx_v_SIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_SOut, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPerpIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_VPerpOut, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indIn, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_indOut, 1);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_V1);
__Pyx_XDECREF(__pyx_v_V2);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03_Calc_LOS_PInOut_Lin {
int __pyx_n;
double EpsPlane;
};
2085:
+2086: cdef int ii=0, jj=0, Nl=Ds.shape[1], Ns=VIn.shape[1]
__Pyx_TraceLine(2086,0,__PYX_ERR(0, 2086, __pyx_L1_error)) __pyx_v_ii = 0; __pyx_v_jj = 0; __pyx_v_Nl = (__pyx_v_Ds.shape[1]); __pyx_v_Ns = (__pyx_v_VIn.shape[1]);
+2087: cdef double kin, kout, scauVin, q, X, sca, L0=<double>Lim[0], L1=<double>Lim[1]
__Pyx_TraceLine(2087,0,__PYX_ERR(0, 2087, __pyx_L1_error)) __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_Lim, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2087, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_L0 = ((double)__pyx_t_2); __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_Lim, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2087, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_L1 = ((double)__pyx_t_2);
+2088: cdef int indin=0, indout=0, Done=0
__Pyx_TraceLine(2088,0,__PYX_ERR(0, 2088, __pyx_L1_error)) __pyx_v_indin = 0; __pyx_v_indout = 0; __pyx_v_Done = 0;
+2089: cdef cnp.ndarray[double,ndim=2] SIn_=np.nan*np.ones((3,Nl)), SOut_=np.nan*np.ones((3,Nl))
__Pyx_TraceLine(2089,0,__PYX_ERR(0, 2089, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2089, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_SIn_.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_SIn_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2089, __pyx_L1_error) } else {__pyx_pybuffernd_SIn_.diminfo[0].strides = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_SIn_.diminfo[0].shape = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_SIn_.diminfo[1].strides = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_SIn_.diminfo[1].shape = __pyx_pybuffernd_SIn_.rcbuffer->pybuffer.shape[1]; } } __pyx_t_7 = 0; __pyx_v_SIn_ = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_nan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ones); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2089, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_SOut_.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_SOut_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2089, __pyx_L1_error) } else {__pyx_pybuffernd_SOut_.diminfo[0].strides = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_SOut_.diminfo[0].shape = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_SOut_.diminfo[1].strides = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_SOut_.diminfo[1].shape = __pyx_pybuffernd_SOut_.rcbuffer->pybuffer.shape[1]; } } __pyx_t_7 = 0; __pyx_v_SOut_ = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
+2090: cdef cnp.ndarray[double,ndim=2] VPerp_In=np.nan*np.ones((3,Nl)), VPerp_Out=np.nan*np.ones((3,Nl))
__Pyx_TraceLine(2090,0,__PYX_ERR(0, 2090, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_nan); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2090, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_VPerp_In = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2090, __pyx_L1_error) } else {__pyx_pybuffernd_VPerp_In.diminfo[0].strides = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPerp_In.diminfo[0].shape = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPerp_In.diminfo[1].strides = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPerp_In.diminfo[1].shape = __pyx_pybuffernd_VPerp_In.rcbuffer->pybuffer.shape[1]; } } __pyx_t_8 = 0; __pyx_v_VPerp_In = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_nan); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2090, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_VPerp_Out = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2090, __pyx_L1_error) } else {__pyx_pybuffernd_VPerp_Out.diminfo[0].strides = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_VPerp_Out.diminfo[0].shape = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_VPerp_Out.diminfo[1].strides = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_VPerp_Out.diminfo[1].shape = __pyx_pybuffernd_VPerp_Out.rcbuffer->pybuffer.shape[1]; } } __pyx_t_8 = 0; __pyx_v_VPerp_Out = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+2091: cdef cnp.ndarray[double,ndim=1] indIn_=np.nan*np.ones((Nl,)), indOut_=np.nan*np.ones((Nl,))
__Pyx_TraceLine(2091,0,__PYX_ERR(0, 2091, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_nan); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2091, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indIn_.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indIn_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2091, __pyx_L1_error) } else {__pyx_pybuffernd_indIn_.diminfo[0].strides = __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indIn_.diminfo[0].shape = __pyx_pybuffernd_indIn_.rcbuffer->pybuffer.shape[0]; } } __pyx_t_9 = 0; __pyx_v_indIn_ = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_Nl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2091, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indOut_.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indOut_ = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2091, __pyx_L1_error) } else {__pyx_pybuffernd_indOut_.diminfo[0].strides = __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indOut_.diminfo[0].shape = __pyx_pybuffernd_indOut_.rcbuffer->pybuffer.shape[0]; } } __pyx_t_9 = 0; __pyx_v_indOut_ = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
2092:
+2093: cdef double[:,::1] SIn=SIn_, SOut=SOut_, VPerpIn=VPerp_In, VPerpOut=VPerp_Out
__Pyx_TraceLine(2093,0,__PYX_ERR(0, 2093, __pyx_L1_error)) __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_SIn_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 2093, __pyx_L1_error) __pyx_v_SIn = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_SOut_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 2093, __pyx_L1_error) __pyx_v_SOut = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPerp_In), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 2093, __pyx_L1_error) __pyx_v_VPerpIn = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL; __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(((PyObject *)__pyx_v_VPerp_Out), PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 2093, __pyx_L1_error) __pyx_v_VPerpOut = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+2094: cdef double[::1] indIn=indIn_, indOut=indOut_
__Pyx_TraceLine(2094,0,__PYX_ERR(0, 2094, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(((PyObject *)__pyx_v_indIn_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 2094, __pyx_L1_error) __pyx_v_indIn = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL; __pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dc_double(((PyObject *)__pyx_v_indOut_), PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 2094, __pyx_L1_error) __pyx_v_indOut = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL;
2095:
+2096: for ii in range(0,Nl):
__Pyx_TraceLine(2096,0,__PYX_ERR(0, 2096, __pyx_L1_error)) __pyx_t_12 = __pyx_v_Nl; __pyx_t_13 = __pyx_t_12; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ii = __pyx_t_14;
2097:
+2098: kout, kin, Done = 1.e12, 1e12, 0
__Pyx_TraceLine(2098,0,__PYX_ERR(0, 2098, __pyx_L1_error)) __pyx_t_2 = 1.e12; __pyx_t_15 = 1e12; __pyx_t_16 = 0; __pyx_v_kout = __pyx_t_2; __pyx_v_kin = __pyx_t_15; __pyx_v_Done = __pyx_t_16;
2099: # For cylinder
+2100: for jj in range(0,Ns):
__Pyx_TraceLine(2100,0,__PYX_ERR(0, 2100, __pyx_L1_error)) __pyx_t_16 = __pyx_v_Ns; __pyx_t_17 = __pyx_t_16; for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_17; __pyx_t_18+=1) { __pyx_v_jj = __pyx_t_18;
+2101: scauVin = us[1,ii]*VIn[0,jj] + us[2,ii]*VIn[1,jj]
__Pyx_TraceLine(2101,0,__PYX_ERR(0, 2101, __pyx_L1_error)) __pyx_t_19 = 1; __pyx_t_20 = __pyx_v_ii; __pyx_t_21 = 0; __pyx_t_22 = __pyx_v_jj; __pyx_t_23 = 2; __pyx_t_24 = __pyx_v_ii; __pyx_t_25 = 1; __pyx_t_26 = __pyx_v_jj; __pyx_v_scauVin = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_19 * __pyx_v_us.strides[0]) )) + __pyx_t_20)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_21 * __pyx_v_VIn.strides[0]) )) + __pyx_t_22)) )))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_23 * __pyx_v_us.strides[0]) )) + __pyx_t_24)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_25 * __pyx_v_VIn.strides[0]) )) + __pyx_t_26)) )))));
2102: # Only if plane not parallel to line
+2103: if Cabs(scauVin)>EpsPlane:
__Pyx_TraceLine(2103,0,__PYX_ERR(0, 2103, __pyx_L1_error)) __pyx_t_27 = ((fabs(__pyx_v_scauVin) > __pyx_v_EpsPlane) != 0); if (__pyx_t_27) { /* … */ } }
+2104: k = -((Ds[1,ii]-VPoly[0,jj])*VIn[0,jj] + (Ds[2,ii]-VPoly[1,jj])*VIn[1,jj])/scauVin
__Pyx_TraceLine(2104,0,__PYX_ERR(0, 2104, __pyx_L1_error)) __pyx_t_28 = 1; __pyx_t_29 = __pyx_v_ii; __pyx_t_30 = 0; __pyx_t_31 = __pyx_v_jj; __pyx_t_32 = 0; __pyx_t_33 = __pyx_v_jj; __pyx_t_34 = 2; __pyx_t_35 = __pyx_v_ii; __pyx_t_36 = 1; __pyx_t_37 = __pyx_v_jj; __pyx_t_38 = 1; __pyx_t_39 = __pyx_v_jj; __pyx_t_5 = PyFloat_FromDouble(((-((((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_28 * __pyx_v_Ds.strides[0]) )) + __pyx_t_29)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_30 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_31)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_32 * __pyx_v_VIn.strides[0]) )) + __pyx_t_33)) )))) + (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_34 * __pyx_v_Ds.strides[0]) )) + __pyx_t_35)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_36 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_37)) )))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_38 * __pyx_v_VIn.strides[0]) )) + __pyx_t_39)) )))))) / __pyx_v_scauVin)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_5); __pyx_t_5 = 0;
2105: # Only if on good side of semi-line
+2106: if k>=0.:
__Pyx_TraceLine(2106,0,__PYX_ERR(0, 2106, __pyx_L1_error)) __pyx_t_5 = PyObject_RichCompare(__pyx_v_k, __pyx_float_0_, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2106, __pyx_L1_error) __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 2106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_27) { /* … */ }
+2107: V1, V2 = VPoly[0,jj+1]-VPoly[0,jj], VPoly[1,jj+1]-VPoly[1,jj]
__Pyx_TraceLine(2107,0,__PYX_ERR(0, 2107, __pyx_L1_error)) __pyx_t_40 = 0; __pyx_t_41 = (__pyx_v_jj + 1); __pyx_t_42 = 0; __pyx_t_43 = __pyx_v_jj; __pyx_t_5 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_40 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_41)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_42 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_43)) ))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_44 = 1; __pyx_t_45 = (__pyx_v_jj + 1); __pyx_t_46 = 1; __pyx_t_47 = __pyx_v_jj; __pyx_t_1 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_44 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_45)) ))) - (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_46 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_47)) ))))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_V1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_V2, __pyx_t_1); __pyx_t_1 = 0;
+2108: q = ((Ds[1,ii] + k*us[1,ii]-VPoly[0,jj])*V1 + (Ds[2,ii] + k*us[2,ii]-VPoly[1,jj])*V2)/(V1**2+V2**2)
__Pyx_TraceLine(2108,0,__PYX_ERR(0, 2108, __pyx_L1_error)) __pyx_t_48 = 1; __pyx_t_49 = __pyx_v_ii; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_48 * __pyx_v_Ds.strides[0]) )) + __pyx_t_49)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_50 = 1; __pyx_t_51 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_50 * __pyx_v_us.strides[0]) )) + __pyx_t_51)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Multiply(__pyx_v_k, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_52 = 0; __pyx_t_53 = __pyx_v_jj; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_52 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_53)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_v_V1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_54 = 2; __pyx_t_55 = __pyx_v_ii; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_54 * __pyx_v_Ds.strides[0]) )) + __pyx_t_55)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_56 = 2; __pyx_t_57 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_56 * __pyx_v_us.strides[0]) )) + __pyx_t_57)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Multiply(__pyx_v_k, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_58 = 1; __pyx_t_59 = __pyx_v_jj; __pyx_t_6 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPoly.data + __pyx_t_58 * __pyx_v_VPoly.strides[0]) )) + __pyx_t_59)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_v_V2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Power(__pyx_v_V1, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyNumber_Power(__pyx_v_V2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Add(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_q = __pyx_t_15;
2109: # Only of on the fraction of plane
+2110: if q>=0. and q<1.:
__Pyx_TraceLine(2110,0,__PYX_ERR(0, 2110, __pyx_L1_error)) __pyx_t_60 = ((__pyx_v_q >= 0.) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L10_bool_binop_done; } __pyx_t_60 = ((__pyx_v_q < 1.) != 0); __pyx_t_27 = __pyx_t_60; __pyx_L10_bool_binop_done:; if (__pyx_t_27) { /* … */ }
+2111: X = Ds[0,ii] + k*us[0,ii]
__Pyx_TraceLine(2111,0,__PYX_ERR(0, 2111, __pyx_L1_error)) __pyx_t_61 = 0; __pyx_t_62 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_61 * __pyx_v_Ds.strides[0]) )) + __pyx_t_62)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_63 = 0; __pyx_t_64 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_63 * __pyx_v_us.strides[0]) )) + __pyx_t_64)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Multiply(__pyx_v_k, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_X = __pyx_t_15;
2112: # Only if within limits
+2113: if X>=L0 and X<=L1:
__Pyx_TraceLine(2113,0,__PYX_ERR(0, 2113, __pyx_L1_error)) __pyx_t_60 = ((__pyx_v_X >= __pyx_v_L0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L13_bool_binop_done; } __pyx_t_60 = ((__pyx_v_X <= __pyx_v_L1) != 0); __pyx_t_27 = __pyx_t_60; __pyx_L13_bool_binop_done:; if (__pyx_t_27) { /* … */ }
+2114: sca = us[1,ii]*VIn[0,jj] + us[2,ii]*VIn[1,jj]
__Pyx_TraceLine(2114,0,__PYX_ERR(0, 2114, __pyx_L1_error)) __pyx_t_65 = 1; __pyx_t_66 = __pyx_v_ii; __pyx_t_67 = 0; __pyx_t_68 = __pyx_v_jj; __pyx_t_69 = 2; __pyx_t_70 = __pyx_v_ii; __pyx_t_71 = 1; __pyx_t_72 = __pyx_v_jj; __pyx_v_sca = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_65 * __pyx_v_us.strides[0]) )) + __pyx_t_66)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_67 * __pyx_v_VIn.strides[0]) )) + __pyx_t_68)) )))) + ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_69 * __pyx_v_us.strides[0]) )) + __pyx_t_70)) ))) * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_71 * __pyx_v_VIn.strides[0]) )) + __pyx_t_72)) )))));
2115: # Only if new
+2116: if sca<=0 and k<kout:
__Pyx_TraceLine(2116,0,__PYX_ERR(0, 2116, __pyx_L1_error)) __pyx_t_60 = ((__pyx_v_sca <= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L16_bool_binop_done; } __pyx_t_5 = PyFloat_FromDouble(__pyx_v_kout); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyObject_RichCompare(__pyx_v_k, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L16_bool_binop_done:; if (__pyx_t_27) { /* … */ goto __pyx_L15; }
+2117: kout = k
__Pyx_TraceLine(2117,0,__PYX_ERR(0, 2117, __pyx_L1_error)) __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2117, __pyx_L1_error) __pyx_v_kout = __pyx_t_15;
+2118: indout = jj
__Pyx_TraceLine(2118,0,__PYX_ERR(0, 2118, __pyx_L1_error)) __pyx_v_indout = __pyx_v_jj;
+2119: Done = 1
__Pyx_TraceLine(2119,0,__PYX_ERR(0, 2119, __pyx_L1_error)) __pyx_v_Done = 1;
+2120: elif sca>=0 and k<min(kin,kout):
__Pyx_TraceLine(2120,0,__PYX_ERR(0, 2120, __pyx_L1_error)) __pyx_t_60 = ((__pyx_v_sca >= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L18_bool_binop_done; } __pyx_t_15 = __pyx_v_kout; __pyx_t_2 = __pyx_v_kin; if (((__pyx_t_15 < __pyx_t_2) != 0)) { __pyx_t_73 = __pyx_t_15; } else { __pyx_t_73 = __pyx_t_2; } __pyx_t_1 = PyFloat_FromDouble(__pyx_t_73); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_RichCompare(__pyx_v_k, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L18_bool_binop_done:; if (__pyx_t_27) { /* … */ } __pyx_L15:;
+2121: kin = k
__Pyx_TraceLine(2121,0,__PYX_ERR(0, 2121, __pyx_L1_error)) __pyx_t_73 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_73 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2121, __pyx_L1_error) __pyx_v_kin = __pyx_t_73;
+2122: indin = jj
__Pyx_TraceLine(2122,0,__PYX_ERR(0, 2122, __pyx_L1_error)) __pyx_v_indin = __pyx_v_jj;
2123:
2124: # For two faces
2125: # Only if plane not parallel to line
+2126: if Cabs(us[0,ii])>EpsPlane:
__Pyx_TraceLine(2126,0,__PYX_ERR(0, 2126, __pyx_L1_error)) __pyx_t_74 = 0; __pyx_t_75 = __pyx_v_ii; __pyx_t_27 = ((fabs((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_74 * __pyx_v_us.strides[0]) )) + __pyx_t_75)) )))) > __pyx_v_EpsPlane) != 0); if (__pyx_t_27) { /* … */ }
2127: # First face
+2128: k = -(Ds[0,ii]-L0)/us[0,ii]
__Pyx_TraceLine(2128,0,__PYX_ERR(0, 2128, __pyx_L1_error)) __pyx_t_76 = 0; __pyx_t_77 = __pyx_v_ii; __pyx_t_78 = 0; __pyx_t_79 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble(((-((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_76 * __pyx_v_Ds.strides[0]) )) + __pyx_t_77)) ))) - __pyx_v_L0)) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_78 * __pyx_v_us.strides[0]) )) + __pyx_t_79)) ))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_5); __pyx_t_5 = 0;
2129: # Only if on good side of semi-line
+2130: if k>=0.:
__Pyx_TraceLine(2130,0,__PYX_ERR(0, 2130, __pyx_L1_error)) __pyx_t_5 = PyObject_RichCompare(__pyx_v_k, __pyx_float_0_, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2130, __pyx_L1_error) __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 2130, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_27) { /* … */ }
2131: # Only if inside VPoly
+2132: if Path(VPoly.T).contains_point([Ds[1,ii]+k*us[1,ii],Ds[2,ii]+k*us[2,ii]], transform=None, radius=0.0):
__Pyx_TraceLine(2132,0,__PYX_ERR(0, 2132, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_80 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_80, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_80) == 0)) __PYX_ERR(0, 2132, __pyx_L1_error) __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_t_80, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __PYX_XDEC_MEMVIEW(&__pyx_t_80, 1); __pyx_t_80.memview = NULL; __pyx_t_80.data = NULL; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_contains_point); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_81 = 1; __pyx_t_82 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_81 * __pyx_v_Ds.strides[0]) )) + __pyx_t_82)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_83 = 1; __pyx_t_84 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_83 * __pyx_v_us.strides[0]) )) + __pyx_t_84)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_Multiply(__pyx_v_k, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_85 = 2; __pyx_t_86 = __pyx_v_ii; __pyx_t_6 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_85 * __pyx_v_Ds.strides[0]) )) + __pyx_t_86)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_87 = 2; __pyx_t_88 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_87 * __pyx_v_us.strides[0]) )) + __pyx_t_88)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Multiply(__pyx_v_k, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 2132, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 2132, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_27) { /* … */ }
+2133: if us[0,ii]<=0 and k<kout:
__Pyx_TraceLine(2133,0,__PYX_ERR(0, 2133, __pyx_L1_error)) __pyx_t_89 = 0; __pyx_t_90 = __pyx_v_ii; __pyx_t_60 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_89 * __pyx_v_us.strides[0]) )) + __pyx_t_90)) ))) <= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = PyFloat_FromDouble(__pyx_v_kout); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_RichCompare(__pyx_v_k, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L24_bool_binop_done:; if (__pyx_t_27) { /* … */ goto __pyx_L23; }
+2134: kout = k
__Pyx_TraceLine(2134,0,__PYX_ERR(0, 2134, __pyx_L1_error)) __pyx_t_73 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_73 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2134, __pyx_L1_error) __pyx_v_kout = __pyx_t_73;
+2135: indout = -1
__Pyx_TraceLine(2135,0,__PYX_ERR(0, 2135, __pyx_L1_error)) __pyx_v_indout = -1;
+2136: Done = 1
__Pyx_TraceLine(2136,0,__PYX_ERR(0, 2136, __pyx_L1_error)) __pyx_v_Done = 1;
+2137: elif us[0,ii]>=0 and k<min(kin,kout):
__Pyx_TraceLine(2137,0,__PYX_ERR(0, 2137, __pyx_L1_error)) __pyx_t_91 = 0; __pyx_t_92 = __pyx_v_ii; __pyx_t_60 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_91 * __pyx_v_us.strides[0]) )) + __pyx_t_92)) ))) >= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L26_bool_binop_done; } __pyx_t_73 = __pyx_v_kout; __pyx_t_15 = __pyx_v_kin; if (((__pyx_t_73 < __pyx_t_15) != 0)) { __pyx_t_2 = __pyx_t_73; } else { __pyx_t_2 = __pyx_t_15; } __pyx_t_4 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyObject_RichCompare(__pyx_v_k, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L26_bool_binop_done:; if (__pyx_t_27) { /* … */ } __pyx_L23:;
+2138: kin = k
__Pyx_TraceLine(2138,0,__PYX_ERR(0, 2138, __pyx_L1_error)) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2138, __pyx_L1_error) __pyx_v_kin = __pyx_t_2;
+2139: indin = -1
__Pyx_TraceLine(2139,0,__PYX_ERR(0, 2139, __pyx_L1_error)) __pyx_v_indin = -1;
2140: # Second face
+2141: k = -(Ds[0,ii]-L1)/us[0,ii]
__Pyx_TraceLine(2141,0,__PYX_ERR(0, 2141, __pyx_L1_error)) __pyx_t_93 = 0; __pyx_t_94 = __pyx_v_ii; __pyx_t_95 = 0; __pyx_t_96 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble(((-((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_93 * __pyx_v_Ds.strides[0]) )) + __pyx_t_94)) ))) - __pyx_v_L1)) / (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_95 * __pyx_v_us.strides[0]) )) + __pyx_t_96)) ))))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_k, __pyx_t_3); __pyx_t_3 = 0;
2142: # Only if on good side of semi-line
+2143: if k>=0.:
__Pyx_TraceLine(2143,0,__PYX_ERR(0, 2143, __pyx_L1_error)) __pyx_t_3 = PyObject_RichCompare(__pyx_v_k, __pyx_float_0_, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2143, __pyx_L1_error) __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_27) { /* … */ }
2144: # Only if inside VPoly
+2145: if Path(VPoly.T).contains_point([Ds[1,ii]+k*us[1,ii],Ds[2,ii]+k*us[2,ii]], transform=None, radius=0.0):
__Pyx_TraceLine(2145,0,__PYX_ERR(0, 2145, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_80 = __pyx_v_VPoly; __PYX_INC_MEMVIEW(&__pyx_t_80, 1); if (unlikely(__pyx_memslice_transpose(&__pyx_t_80) == 0)) __PYX_ERR(0, 2145, __pyx_L1_error) __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_t_80, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_80, 1); __pyx_t_80.memview = NULL; __pyx_t_80.data = NULL; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_contains_point); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_97 = 1; __pyx_t_98 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_97 * __pyx_v_Ds.strides[0]) )) + __pyx_t_98)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_99 = 1; __pyx_t_100 = __pyx_v_ii; __pyx_t_5 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_99 * __pyx_v_us.strides[0]) )) + __pyx_t_100)) )))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Multiply(__pyx_v_k, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_101 = 2; __pyx_t_102 = __pyx_v_ii; __pyx_t_1 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_101 * __pyx_v_Ds.strides[0]) )) + __pyx_t_102)) )))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_103 = 2; __pyx_t_104 = __pyx_v_ii; __pyx_t_3 = PyFloat_FromDouble((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_103 * __pyx_v_us.strides[0]) )) + __pyx_t_104)) )))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_Multiply(__pyx_v_k, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_transform, Py_None) < 0) __PYX_ERR(0, 2145, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_radius, __pyx_float_0_0) < 0) __PYX_ERR(0, 2145, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_27) { /* … */ }
+2146: if us[0,ii]>=0 and k<kout:
__Pyx_TraceLine(2146,0,__PYX_ERR(0, 2146, __pyx_L1_error)) __pyx_t_105 = 0; __pyx_t_106 = __pyx_v_ii; __pyx_t_60 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_105 * __pyx_v_us.strides[0]) )) + __pyx_t_106)) ))) >= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L31_bool_binop_done; } __pyx_t_5 = PyFloat_FromDouble(__pyx_v_kout); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_k, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L31_bool_binop_done:; if (__pyx_t_27) { /* … */ goto __pyx_L30; }
+2147: kout = k
__Pyx_TraceLine(2147,0,__PYX_ERR(0, 2147, __pyx_L1_error)) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2147, __pyx_L1_error) __pyx_v_kout = __pyx_t_2;
+2148: indout = -2
__Pyx_TraceLine(2148,0,__PYX_ERR(0, 2148, __pyx_L1_error)) __pyx_v_indout = -2;
+2149: Done = 1
__Pyx_TraceLine(2149,0,__PYX_ERR(0, 2149, __pyx_L1_error)) __pyx_v_Done = 1;
+2150: elif us[0,ii]<=0 and k<min(kin,kout):
__Pyx_TraceLine(2150,0,__PYX_ERR(0, 2150, __pyx_L1_error)) __pyx_t_107 = 0; __pyx_t_108 = __pyx_v_ii; __pyx_t_60 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_107 * __pyx_v_us.strides[0]) )) + __pyx_t_108)) ))) <= 0.0) != 0); if (__pyx_t_60) { } else { __pyx_t_27 = __pyx_t_60; goto __pyx_L33_bool_binop_done; } __pyx_t_2 = __pyx_v_kout; __pyx_t_73 = __pyx_v_kin; if (((__pyx_t_2 < __pyx_t_73) != 0)) { __pyx_t_15 = __pyx_t_2; } else { __pyx_t_15 = __pyx_t_73; } __pyx_t_6 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_k, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_60 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_60 < 0)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_27 = __pyx_t_60; __pyx_L33_bool_binop_done:; if (__pyx_t_27) { /* … */ } __pyx_L30:;
+2151: kin = k
__Pyx_TraceLine(2151,0,__PYX_ERR(0, 2151, __pyx_L1_error)) __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2151, __pyx_L1_error) __pyx_v_kin = __pyx_t_15;
+2152: indin = -2
__Pyx_TraceLine(2152,0,__PYX_ERR(0, 2152, __pyx_L1_error)) __pyx_v_indin = -2;
2153:
+2154: if Done==1:
__Pyx_TraceLine(2154,0,__PYX_ERR(0, 2154, __pyx_L1_error)) __pyx_t_27 = ((__pyx_v_Done == 1) != 0); if (__pyx_t_27) { /* … */ } }
+2155: SOut[0,ii] = Ds[0,ii] + kout*us[0,ii]
__Pyx_TraceLine(2155,0,__PYX_ERR(0, 2155, __pyx_L1_error)) __pyx_t_109 = 0; __pyx_t_110 = __pyx_v_ii; __pyx_t_111 = 0; __pyx_t_112 = __pyx_v_ii; __pyx_t_113 = 0; __pyx_t_114 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_113 * __pyx_v_SOut.strides[0]) )) + __pyx_t_114)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_109 * __pyx_v_Ds.strides[0]) )) + __pyx_t_110)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_111 * __pyx_v_us.strides[0]) )) + __pyx_t_112)) )))));
+2156: SOut[1,ii] = Ds[1,ii] + kout*us[1,ii]
__Pyx_TraceLine(2156,0,__PYX_ERR(0, 2156, __pyx_L1_error)) __pyx_t_115 = 1; __pyx_t_116 = __pyx_v_ii; __pyx_t_117 = 1; __pyx_t_118 = __pyx_v_ii; __pyx_t_119 = 1; __pyx_t_120 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_119 * __pyx_v_SOut.strides[0]) )) + __pyx_t_120)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_115 * __pyx_v_Ds.strides[0]) )) + __pyx_t_116)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_117 * __pyx_v_us.strides[0]) )) + __pyx_t_118)) )))));
+2157: SOut[2,ii] = Ds[2,ii] + kout*us[2,ii]
__Pyx_TraceLine(2157,0,__PYX_ERR(0, 2157, __pyx_L1_error)) __pyx_t_121 = 2; __pyx_t_122 = __pyx_v_ii; __pyx_t_123 = 2; __pyx_t_124 = __pyx_v_ii; __pyx_t_125 = 2; __pyx_t_126 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SOut.data + __pyx_t_125 * __pyx_v_SOut.strides[0]) )) + __pyx_t_126)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_121 * __pyx_v_Ds.strides[0]) )) + __pyx_t_122)) ))) + (__pyx_v_kout * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_123 * __pyx_v_us.strides[0]) )) + __pyx_t_124)) )))));
2158: # To be finished
2159: # phi = Catan2(SOut[1,ii],SOut[0,ii])
+2160: if indout==-1:
__Pyx_TraceLine(2160,0,__PYX_ERR(0, 2160, __pyx_L1_error)) switch (__pyx_v_indout) { case -1L: /* … */ break; case -2L:
+2161: VPerpOut[0,ii] = 1.
__Pyx_TraceLine(2161,0,__PYX_ERR(0, 2161, __pyx_L1_error)) __pyx_t_127 = 0; __pyx_t_128 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_127 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_128)) )) = 1.;
+2162: VPerpOut[1,ii] = 0.
__Pyx_TraceLine(2162,0,__PYX_ERR(0, 2162, __pyx_L1_error)) __pyx_t_129 = 1; __pyx_t_130 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_129 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_130)) )) = 0.;
+2163: VPerpOut[2,ii] = 0.
__Pyx_TraceLine(2163,0,__PYX_ERR(0, 2163, __pyx_L1_error)) __pyx_t_131 = 2; __pyx_t_132 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_131 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_132)) )) = 0.;
+2164: elif indout==-2:
break;
default:
+2165: VPerpOut[0,ii] = -1.
__Pyx_TraceLine(2165,0,__PYX_ERR(0, 2165, __pyx_L1_error)) __pyx_t_133 = 0; __pyx_t_134 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_133 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_134)) )) = -1.;
+2166: VPerpOut[1,ii] = 0.
__Pyx_TraceLine(2166,0,__PYX_ERR(0, 2166, __pyx_L1_error)) __pyx_t_135 = 1; __pyx_t_136 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_135 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_136)) )) = 0.;
+2167: VPerpOut[2,ii] = 0.
__Pyx_TraceLine(2167,0,__PYX_ERR(0, 2167, __pyx_L1_error)) __pyx_t_137 = 2; __pyx_t_138 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_137 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_138)) )) = 0.;
2168: else:
+2169: VPerpOut[0,ii] = 0.
__Pyx_TraceLine(2169,0,__PYX_ERR(0, 2169, __pyx_L1_error)) __pyx_t_139 = 0; __pyx_t_140 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_139 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_140)) )) = 0.;
+2170: VPerpOut[1,ii] = VIn[0,indout]
__Pyx_TraceLine(2170,0,__PYX_ERR(0, 2170, __pyx_L1_error)) __pyx_t_141 = 0; __pyx_t_142 = __pyx_v_indout; __pyx_t_143 = 1; __pyx_t_144 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_143 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_144)) )) = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_141 * __pyx_v_VIn.strides[0]) )) + __pyx_t_142)) )));
+2171: VPerpOut[2,ii] = VIn[1,indout]
__Pyx_TraceLine(2171,0,__PYX_ERR(0, 2171, __pyx_L1_error)) __pyx_t_145 = 1; __pyx_t_146 = __pyx_v_indout; __pyx_t_147 = 2; __pyx_t_148 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpOut.data + __pyx_t_147 * __pyx_v_VPerpOut.strides[0]) )) + __pyx_t_148)) )) = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_145 * __pyx_v_VIn.strides[0]) )) + __pyx_t_146)) ))); break; }
+2172: indOut[ii] = indout
__Pyx_TraceLine(2172,0,__PYX_ERR(0, 2172, __pyx_L1_error)) __pyx_t_149 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_indOut.data) + __pyx_t_149)) )) = __pyx_v_indout;
+2173: if kin<kout:
__Pyx_TraceLine(2173,0,__PYX_ERR(0, 2173, __pyx_L1_error)) __pyx_t_27 = ((__pyx_v_kin < __pyx_v_kout) != 0); if (__pyx_t_27) { /* … */ }
+2174: SIn[0,ii] = Ds[0,ii] + kin*us[0,ii]
__Pyx_TraceLine(2174,0,__PYX_ERR(0, 2174, __pyx_L1_error)) __pyx_t_150 = 0; __pyx_t_151 = __pyx_v_ii; __pyx_t_152 = 0; __pyx_t_153 = __pyx_v_ii; __pyx_t_154 = 0; __pyx_t_155 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_154 * __pyx_v_SIn.strides[0]) )) + __pyx_t_155)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_150 * __pyx_v_Ds.strides[0]) )) + __pyx_t_151)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_152 * __pyx_v_us.strides[0]) )) + __pyx_t_153)) )))));
+2175: SIn[1,ii] = Ds[1,ii] + kin*us[1,ii]
__Pyx_TraceLine(2175,0,__PYX_ERR(0, 2175, __pyx_L1_error)) __pyx_t_156 = 1; __pyx_t_157 = __pyx_v_ii; __pyx_t_158 = 1; __pyx_t_159 = __pyx_v_ii; __pyx_t_160 = 1; __pyx_t_161 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_160 * __pyx_v_SIn.strides[0]) )) + __pyx_t_161)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_156 * __pyx_v_Ds.strides[0]) )) + __pyx_t_157)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_158 * __pyx_v_us.strides[0]) )) + __pyx_t_159)) )))));
+2176: SIn[2,ii] = Ds[2,ii] + kin*us[2,ii]
__Pyx_TraceLine(2176,0,__PYX_ERR(0, 2176, __pyx_L1_error)) __pyx_t_162 = 2; __pyx_t_163 = __pyx_v_ii; __pyx_t_164 = 2; __pyx_t_165 = __pyx_v_ii; __pyx_t_166 = 2; __pyx_t_167 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_SIn.data + __pyx_t_166 * __pyx_v_SIn.strides[0]) )) + __pyx_t_167)) )) = ((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_162 * __pyx_v_Ds.strides[0]) )) + __pyx_t_163)) ))) + (__pyx_v_kin * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_164 * __pyx_v_us.strides[0]) )) + __pyx_t_165)) )))));
+2177: if indin==-1:
__Pyx_TraceLine(2177,0,__PYX_ERR(0, 2177, __pyx_L1_error)) switch (__pyx_v_indin) { case -1L: /* … */ break; case -2L:
+2178: VPerpIn[0,ii] = -1.
__Pyx_TraceLine(2178,0,__PYX_ERR(0, 2178, __pyx_L1_error)) __pyx_t_168 = 0; __pyx_t_169 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_168 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_169)) )) = -1.;
+2179: VPerpIn[1,ii] = 0.
__Pyx_TraceLine(2179,0,__PYX_ERR(0, 2179, __pyx_L1_error)) __pyx_t_170 = 1; __pyx_t_171 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_170 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_171)) )) = 0.;
+2180: VPerpIn[2,ii] = 0.
__Pyx_TraceLine(2180,0,__PYX_ERR(0, 2180, __pyx_L1_error)) __pyx_t_172 = 2; __pyx_t_173 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_172 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_173)) )) = 0.;
+2181: elif indin==-2:
break;
default:
+2182: VPerpIn[0,ii] = 1.
__Pyx_TraceLine(2182,0,__PYX_ERR(0, 2182, __pyx_L1_error)) __pyx_t_174 = 0; __pyx_t_175 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_174 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_175)) )) = 1.;
+2183: VPerpIn[1,ii] = 0.
__Pyx_TraceLine(2183,0,__PYX_ERR(0, 2183, __pyx_L1_error)) __pyx_t_176 = 1; __pyx_t_177 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_176 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_177)) )) = 0.;
+2184: VPerpIn[2,ii] = 0.
__Pyx_TraceLine(2184,0,__PYX_ERR(0, 2184, __pyx_L1_error)) __pyx_t_178 = 2; __pyx_t_179 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_178 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_179)) )) = 0.;
2185: else:
+2186: VPerpIn[0,ii] = 0.
__Pyx_TraceLine(2186,0,__PYX_ERR(0, 2186, __pyx_L1_error)) __pyx_t_180 = 0; __pyx_t_181 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_180 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_181)) )) = 0.;
+2187: VPerpIn[1,ii] = -VIn[0,indin]
__Pyx_TraceLine(2187,0,__PYX_ERR(0, 2187, __pyx_L1_error)) __pyx_t_182 = 0; __pyx_t_183 = __pyx_v_indin; __pyx_t_184 = 1; __pyx_t_185 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_184 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_185)) )) = (-(*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_182 * __pyx_v_VIn.strides[0]) )) + __pyx_t_183)) ))));
+2188: VPerpIn[2,ii] = -VIn[1,indin]
__Pyx_TraceLine(2188,0,__PYX_ERR(0, 2188, __pyx_L1_error)) __pyx_t_186 = 1; __pyx_t_187 = __pyx_v_indin; __pyx_t_188 = 2; __pyx_t_189 = __pyx_v_ii; *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VPerpIn.data + __pyx_t_188 * __pyx_v_VPerpIn.strides[0]) )) + __pyx_t_189)) )) = (-(*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_VIn.data + __pyx_t_186 * __pyx_v_VIn.strides[0]) )) + __pyx_t_187)) )))); break; }
+2189: indIn[ii] = indin
__Pyx_TraceLine(2189,0,__PYX_ERR(0, 2189, __pyx_L1_error)) __pyx_t_190 = __pyx_v_ii; *((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_indIn.data) + __pyx_t_190)) )) = __pyx_v_indin;
2190:
+2191: return np.asarray(SIn), np.asarray(SOut), np.asarray(VPerpIn), np.asarray(VPerpOut), np.asarray(indIn), np.asarray(indOut)
__Pyx_TraceLine(2191,0,__PYX_ERR(0, 2191, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_SIn, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_SOut, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_VPerpIn, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_191 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_191 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_191)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_191); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_191) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_191, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); __Pyx_XDECREF(__pyx_t_191); __pyx_t_191 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_191 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_191)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_191); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_VPerpOut, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_192 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_191))) { __pyx_t_192 = PyMethod_GET_SELF(__pyx_t_191); if (likely(__pyx_t_192)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_191); __Pyx_INCREF(__pyx_t_192); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_191, function); } } __pyx_t_1 = (__pyx_t_192) ? __Pyx_PyObject_Call2Args(__pyx_t_191, __pyx_t_192, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_191, __pyx_t_6); __Pyx_XDECREF(__pyx_t_192); __pyx_t_192 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_191); __pyx_t_191 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_192 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_192)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_192); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_indIn, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_193 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_192))) { __pyx_t_193 = PyMethod_GET_SELF(__pyx_t_192); if (likely(__pyx_t_193)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_192); __Pyx_INCREF(__pyx_t_193); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_192, function); } } __pyx_t_191 = (__pyx_t_193) ? __Pyx_PyObject_Call2Args(__pyx_t_192, __pyx_t_193, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_192, __pyx_t_6); __Pyx_XDECREF(__pyx_t_193); __pyx_t_193 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_191)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_191); __Pyx_DECREF(__pyx_t_192); __pyx_t_192 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_193 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_asarray); if (unlikely(!__pyx_t_193)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_193); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_memoryview_fromslice(__pyx_v_indOut, 1, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_194 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_193))) { __pyx_t_194 = PyMethod_GET_SELF(__pyx_t_193); if (likely(__pyx_t_194)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_193); __Pyx_INCREF(__pyx_t_194); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_193, function); } } __pyx_t_192 = (__pyx_t_194) ? __Pyx_PyObject_Call2Args(__pyx_t_193, __pyx_t_194, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_193, __pyx_t_6); __Pyx_XDECREF(__pyx_t_194); __pyx_t_194 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_192)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_192); __Pyx_DECREF(__pyx_t_193); __pyx_t_193 = 0; __pyx_t_193 = PyTuple_New(6); if (unlikely(!__pyx_t_193)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_193); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_193, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_193, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_193, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_193, 3, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_191); PyTuple_SET_ITEM(__pyx_t_193, 4, __pyx_t_191); __Pyx_GIVEREF(__pyx_t_192); PyTuple_SET_ITEM(__pyx_t_193, 5, __pyx_t_192); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_191 = 0; __pyx_t_192 = 0; __pyx_r = __pyx_t_193; __pyx_t_193 = 0; goto __pyx_L0;
2192:
2193:
2194:
2195:
2196: ######################################################################
2197: # Sampling
2198: ######################################################################
2199:
2200: @cython.cdivision(True)
2201: @cython.wraparound(False)
2202: @cython.boundscheck(False)
2203: @cython.initializedcheck(False)
2204: @cython.profile(False)
2205: @cython.linetrace(False)
2206: @cython.binding(False)
+2207: def LOS_get_sample(double[:,::1] Ds, double[:,::1] us, dL,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_49LOS_get_sample(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_48LOS_get_sample[] = " Return the sampled line, with the specified method\n\n 'linspace': return the N+1 edges, including the first and last point\n 'sum' : return N segments centers\n 'simps': return N+1 egdes, N even (for scipy.integrate.simps)\n 'romb' : return N+1 edges, N+1 = 2**k+1 (for scipy.integrate.romb)\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_49LOS_get_sample = {"LOS_get_sample", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_49LOS_get_sample, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_48LOS_get_sample};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_49LOS_get_sample(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_Ds = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_us = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_dL = 0;
__Pyx_memviewslice __pyx_v_DLs = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_dLMode = 0;
PyObject *__pyx_v_method = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_get_sample (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Ds,&__pyx_n_s_us,&__pyx_n_s_dL,&__pyx_n_s_DLs,&__pyx_n_s_dLMode,&__pyx_n_s_method,&__pyx_n_s_Test,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[4] = ((PyObject*)__pyx_n_s_abs);
values[5] = ((PyObject*)__pyx_n_s_sum);
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_48LOS_get_sample(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_Ds, __Pyx_memviewslice __pyx_v_us, PyObject *__pyx_v_dL, __Pyx_memviewslice __pyx_v_DLs, PyObject *__pyx_v_dLMode, PyObject *__pyx_v_method, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_C0 = NULL;
PyObject *__pyx_v_C1 = NULL;
unsigned int __pyx_v_ii;
unsigned int __pyx_v_jj;
unsigned int __pyx_v_N;
unsigned int __pyx_v_ND;
double __pyx_v_kkk;
double __pyx_v_D0;
double __pyx_v_D1;
double __pyx_v_D2;
double __pyx_v_u0;
double __pyx_v_u1;
double __pyx_v_u2;
double __pyx_v_dl0;
double __pyx_v_dl;
PyArrayObject *__pyx_v_dLr = 0;
PyArrayObject *__pyx_v_kk = 0;
PyArrayObject *__pyx_v_pts = 0;
PyObject *__pyx_v_Pts = 0;
PyObject *__pyx_v_k = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_dLr;
__Pyx_Buffer __pyx_pybuffer_dLr;
__Pyx_LocalBuf_ND __pyx_pybuffernd_kk;
__Pyx_Buffer __pyx_pybuffer_kk;
__Pyx_LocalBuf_ND __pyx_pybuffernd_pts;
__Pyx_Buffer __pyx_pybuffer_pts;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_get_sample", 0);
__Pyx_INCREF(__pyx_v_dLMode);
__Pyx_INCREF(__pyx_v_method);
__pyx_pybuffer_dLr.pybuffer.buf = NULL;
__pyx_pybuffer_dLr.refcount = 0;
__pyx_pybuffernd_dLr.data = NULL;
__pyx_pybuffernd_dLr.rcbuffer = &__pyx_pybuffer_dLr;
__pyx_pybuffer_kk.pybuffer.buf = NULL;
__pyx_pybuffer_kk.refcount = 0;
__pyx_pybuffernd_kk.data = NULL;
__pyx_pybuffernd_kk.rcbuffer = &__pyx_pybuffer_kk;
__pyx_pybuffer_pts.pybuffer.buf = NULL;
__pyx_pybuffer_pts.refcount = 0;
__pyx_pybuffernd_pts.data = NULL;
__pyx_pybuffernd_pts.rcbuffer = &__pyx_pybuffer_pts;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.LOS_get_sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_C0);
__Pyx_XDECREF(__pyx_v_C1);
__Pyx_XDECREF((PyObject *)__pyx_v_dLr);
__Pyx_XDECREF((PyObject *)__pyx_v_kk);
__Pyx_XDECREF((PyObject *)__pyx_v_pts);
__Pyx_XDECREF(__pyx_v_Pts);
__Pyx_XDECREF(__pyx_v_k);
__PYX_XDEC_MEMVIEW(&__pyx_v_Ds, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_us, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_DLs, 1);
__Pyx_XDECREF(__pyx_v_dLMode);
__Pyx_XDECREF(__pyx_v_method);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__140 = PyTuple_Pack(27, __pyx_n_s_Ds, __pyx_n_s_us, __pyx_n_s_dL, __pyx_n_s_DLs, __pyx_n_s_dLMode, __pyx_n_s_method, __pyx_n_s_Test, __pyx_n_s_C0, __pyx_n_s_C1, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_N, __pyx_n_s_ND, __pyx_n_s_kkk, __pyx_n_s_D0, __pyx_n_s_D1, __pyx_n_s_D2, __pyx_n_s_u0, __pyx_n_s_u1, __pyx_n_s_u2, __pyx_n_s_dl0, __pyx_n_s_dl, __pyx_n_s_dLr, __pyx_n_s_kk, __pyx_n_s_pts, __pyx_n_s_Pts, __pyx_n_s_k); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 2207, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__140);
__Pyx_GIVEREF(__pyx_tuple__140);
/* … */
__pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_49LOS_get_sample, NULL, __pyx_n_s_tofu_geom__GG03); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOS_get_sample, __pyx_t_2) < 0) __PYX_ERR(0, 2207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(7, 0, 27, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_LOS_get_sample, 2207, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 2207, __pyx_L1_error)
2208: double[:,::1] DLs, str dLMode='abs', str method='sum',
+2209: Test=True):
values[6] = ((PyObject *)Py_True);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Ds)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_us)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_get_sample", 0, 4, 7, 1); __PYX_ERR(0, 2207, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_get_sample", 0, 4, 7, 2); __PYX_ERR(0, 2207, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DLs)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_get_sample", 0, 4, 7, 3); __PYX_ERR(0, 2207, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dLMode);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[6] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "LOS_get_sample") < 0)) __PYX_ERR(0, 2207, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_Ds = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_Ds.memview)) __PYX_ERR(0, 2207, __pyx_L3_error)
__pyx_v_us = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_us.memview)) __PYX_ERR(0, 2207, __pyx_L3_error)
__pyx_v_dL = values[2];
__pyx_v_DLs = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_DLs.memview)) __PYX_ERR(0, 2208, __pyx_L3_error)
__pyx_v_dLMode = ((PyObject*)values[4]);
__pyx_v_method = ((PyObject*)values[5]);
__pyx_v_Test = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("LOS_get_sample", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2207, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.LOS_get_sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dLMode), (&PyString_Type), 1, "dLMode", 1))) __PYX_ERR(0, 2208, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method), (&PyString_Type), 1, "method", 1))) __PYX_ERR(0, 2208, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_48LOS_get_sample(__pyx_self, __pyx_v_Ds, __pyx_v_us, __pyx_v_dL, __pyx_v_DLs, __pyx_v_dLMode, __pyx_v_method, __pyx_v_Test);
2210:
2211: """ Return the sampled line, with the specified method
2212:
2213: 'linspace': return the N+1 edges, including the first and last point
2214: 'sum' : return N segments centers
2215: 'simps': return N+1 egdes, N even (for scipy.integrate.simps)
2216: 'romb' : return N+1 edges, N+1 = 2**k+1 (for scipy.integrate.romb)
2217: """
+2218: if Test:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2218, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2219: assert Ds.shape[0]==us.shape[0]==3, "Args Ds, us - dim 0"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = ((__pyx_v_Ds.shape[0]) == (__pyx_v_us.shape[0]));
if (__pyx_t_1) {
__pyx_t_1 = ((__pyx_v_us.shape[0]) == 3);
}
if (unlikely(!(__pyx_t_1 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_Ds_us_dim_0);
__PYX_ERR(0, 2219, __pyx_L1_error)
}
}
#endif
+2220: assert DLs.shape[0]==2, "Arg DLs - dim 0"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!(((__pyx_v_DLs.shape[0]) == 2) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_DLs_dim_0);
__PYX_ERR(0, 2220, __pyx_L1_error)
}
}
#endif
+2221: assert Ds.shape[1]==us.shape[1]==DLs.shape[1], "Args Ds, us, DLs 1"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = ((__pyx_v_Ds.shape[1]) == (__pyx_v_us.shape[1]));
if (__pyx_t_1) {
__pyx_t_1 = ((__pyx_v_us.shape[1]) == (__pyx_v_DLs.shape[1]));
}
if (unlikely(!(__pyx_t_1 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_Ds_us_DLs_1);
__PYX_ERR(0, 2221, __pyx_L1_error)
}
}
#endif
+2222: C0 = not hasattr(dL,'__iter__') and dL>0.
__pyx_t_1 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2222, __pyx_L1_error) __pyx_t_3 = (!(__pyx_t_1 != 0)); if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = PyObject_RichCompare(__pyx_v_dL, __pyx_float_0_, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2222, __pyx_L1_error) __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L4_bool_binop_done:; __pyx_v_C0 = __pyx_t_2; __pyx_t_2 = 0;
+2223: C1 = hasattr(dL,'__iter__') and len(dL)==Ds.shape[1] and np.all(dL>0.)
__pyx_t_3 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2223, __pyx_L1_error) if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L6_bool_binop_done; } __pyx_t_5 = PyObject_Length(__pyx_v_dL); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2223, __pyx_L1_error) __pyx_t_3 = (__pyx_t_5 == (__pyx_v_Ds.shape[1])); if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L6_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_all); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_v_dL, __pyx_float_0_, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2223, __pyx_L1_error) __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L6_bool_binop_done:; __pyx_v_C1 = __pyx_t_2; __pyx_t_2 = 0;
+2224: assert C0 or C1, "Arg dL must be >0. !"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2224, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L9_bool_binop_done;
}
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C1); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2224, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L9_bool_binop_done:;
if (unlikely(!__pyx_t_3)) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_dL_must_be_0);
__PYX_ERR(0, 2224, __pyx_L1_error)
}
}
#endif
+2225: assert dLMode.lower() in ['abs','rel'], "Arg dLMode in ['abs','rel']"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_dLMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_abs, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2225, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L11_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2225, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L11_bool_binop_done:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!(__pyx_t_3 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_dLMode_in_abs_rel);
__PYX_ERR(0, 2225, __pyx_L1_error)
}
}
#endif
+2226: assert method.lower() in ['sum','simps','romb'], "Arg method"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2226, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L13_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2226, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L13_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_romb, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2226, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L13_bool_binop_done:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!(__pyx_t_3 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_method);
__PYX_ERR(0, 2226, __pyx_L1_error)
}
}
#endif
2227:
+2228: cdef unsigned int ii, jj, N, ND = Ds.shape[1]
__pyx_v_ND = (__pyx_v_Ds.shape[1]);
2229: cdef double kkk, D0, D1, D2, u0, u1, u2, dl0, dl
+2230: cdef cnp.ndarray[double,ndim=1] dLr = np.empty((ND,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ND); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2230, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2230, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dLr.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_dLr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2230, __pyx_L1_error) } else {__pyx_pybuffernd_dLr.diminfo[0].strides = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dLr.diminfo[0].shape = __pyx_pybuffernd_dLr.rcbuffer->pybuffer.shape[0]; } } __pyx_t_9 = 0; __pyx_v_dLr = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
2231: cdef cnp.ndarray[double,ndim=1] kk
2232: cdef cnp.ndarray[double,ndim=2] pts
+2233: cdef list Pts=[0 for ii in range(0,ND)], k=[0 for ii in range(0,ND)]
__pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __pyx_v_ND; __pyx_t_11 = __pyx_t_10; for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { __pyx_v_ii = __pyx_t_12; if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_int_0))) __PYX_ERR(0, 2233, __pyx_L1_error) } __pyx_v_Pts = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __pyx_v_ND; __pyx_t_11 = __pyx_t_10; for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { __pyx_v_ii = __pyx_t_12; if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_int_0))) __PYX_ERR(0, 2233, __pyx_L1_error) } __pyx_v_k = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0;
2234:
+2235: dLMode = dLMode.lower()
__pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_dLMode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_dLMode, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
+2236: method = method.lower()
__pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_method); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_method, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
2237: # Case with unique dL
+2238: if not hasattr(dL,'__iter__'):
__pyx_t_3 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2238, __pyx_L1_error) __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L20; }
+2239: if dLMode=='rel':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_dLMode, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2239, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+2240: N = <long>(Cceil(1./dL))
__pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_v_dL, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_13));
+2241: if method=='sum':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2241, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L22; }
+2242: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2243: dl0 = DLs[0,ii]
__pyx_t_14 = 0;
__pyx_t_15 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_14 * __pyx_v_DLs.strides[0]) )) + __pyx_t_15)) )));
+2244: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_16 = 1;
__pyx_t_17 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_16 * __pyx_v_DLs.strides[0]) )) + __pyx_t_17)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2245: dLr[ii] = dl
__pyx_t_18 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2246: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_19 = 0;
__pyx_t_20 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_19 * __pyx_v_Ds.strides[0]) )) + __pyx_t_20)) )));
__pyx_t_21 = 1;
__pyx_t_22 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_21 * __pyx_v_Ds.strides[0]) )) + __pyx_t_22)) )));
__pyx_t_24 = 2;
__pyx_t_25 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_24 * __pyx_v_Ds.strides[0]) )) + __pyx_t_25)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2247: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_27 = 0;
__pyx_t_28 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_27 * __pyx_v_us.strides[0]) )) + __pyx_t_28)) )));
__pyx_t_29 = 1;
__pyx_t_30 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_29 * __pyx_v_us.strides[0]) )) + __pyx_t_30)) )));
__pyx_t_31 = 2;
__pyx_t_32 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_31 * __pyx_v_us.strides[0]) )) + __pyx_t_32)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2248: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2248, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2248, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2248, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2249: kk = np.empty((N,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2249, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2249, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2249, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2250: for jj in range(0,N):
__pyx_t_39 = __pyx_v_N;
__pyx_t_40 = __pyx_t_39;
for (__pyx_t_41 = 0; __pyx_t_41 < __pyx_t_40; __pyx_t_41+=1) {
__pyx_v_jj = __pyx_t_41;
+2251: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2252: kk[jj] = kkk
__pyx_t_42 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_42, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2253: pts[0,jj] = D0 + kkk*u0
__pyx_t_43 = 0;
__pyx_t_44 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_43, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_44, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2254: pts[1,jj] = D1 + kkk*u1
__pyx_t_45 = 1;
__pyx_t_46 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_45, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_46, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2255: pts[2,jj] = D2 + kkk*u2
__pyx_t_47 = 2;
__pyx_t_48 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2256: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2256, __pyx_L1_error)
+2257: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2257, __pyx_L1_error) }
+2258: elif method=='simps':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2258, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L22; }
+2259: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_49 = __pyx_v_N;
} else {
__pyx_t_49 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_49;
+2260: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2261: dl0 = DLs[0,ii]
__pyx_t_50 = 0;
__pyx_t_51 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_50 * __pyx_v_DLs.strides[0]) )) + __pyx_t_51)) )));
+2262: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_52 = 1;
__pyx_t_53 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_52 * __pyx_v_DLs.strides[0]) )) + __pyx_t_53)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2263: dLr[ii] = dl
__pyx_t_54 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_54, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2264: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_55 = 0;
__pyx_t_56 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_55 * __pyx_v_Ds.strides[0]) )) + __pyx_t_56)) )));
__pyx_t_57 = 1;
__pyx_t_58 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_57 * __pyx_v_Ds.strides[0]) )) + __pyx_t_58)) )));
__pyx_t_59 = 2;
__pyx_t_60 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_59 * __pyx_v_Ds.strides[0]) )) + __pyx_t_60)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2265: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_61 = 0;
__pyx_t_62 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_61 * __pyx_v_us.strides[0]) )) + __pyx_t_62)) )));
__pyx_t_63 = 1;
__pyx_t_64 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_63 * __pyx_v_us.strides[0]) )) + __pyx_t_64)) )));
__pyx_t_65 = 2;
__pyx_t_66 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_65 * __pyx_v_us.strides[0]) )) + __pyx_t_66)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2266: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2266, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2266, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2266, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2267: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2267, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2267, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2267, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2268: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2269: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2270: kk[jj] = kkk
__pyx_t_68 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_68, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2271: pts[0,jj] = D0 + kkk*u0
__pyx_t_69 = 0;
__pyx_t_70 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_69, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_70, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2272: pts[1,jj] = D1 + kkk*u1
__pyx_t_71 = 1;
__pyx_t_72 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_71, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_72, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2273: pts[2,jj] = D2 + kkk*u2
__pyx_t_73 = 2;
__pyx_t_74 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_73, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_74, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2274: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2274, __pyx_L1_error)
+2275: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2275, __pyx_L1_error) }
2276:
2277: else:
+2278: N = 2**(<long>(Cceil(Clog2(<double>N))))
/*else*/ {
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2279: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2280: dl0 = DLs[0,ii]
__pyx_t_75 = 0;
__pyx_t_76 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_75 * __pyx_v_DLs.strides[0]) )) + __pyx_t_76)) )));
+2281: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_77 = 1;
__pyx_t_78 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_77 * __pyx_v_DLs.strides[0]) )) + __pyx_t_78)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2282: dLr[ii] = dl
__pyx_t_79 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_79, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2283: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_80 = 0;
__pyx_t_81 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_80 * __pyx_v_Ds.strides[0]) )) + __pyx_t_81)) )));
__pyx_t_82 = 1;
__pyx_t_83 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_82 * __pyx_v_Ds.strides[0]) )) + __pyx_t_83)) )));
__pyx_t_84 = 2;
__pyx_t_85 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_84 * __pyx_v_Ds.strides[0]) )) + __pyx_t_85)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2284: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_86 = 0;
__pyx_t_87 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_86 * __pyx_v_us.strides[0]) )) + __pyx_t_87)) )));
__pyx_t_88 = 1;
__pyx_t_89 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_88 * __pyx_v_us.strides[0]) )) + __pyx_t_89)) )));
__pyx_t_90 = 2;
__pyx_t_91 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_90 * __pyx_v_us.strides[0]) )) + __pyx_t_91)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2285: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2285, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2285, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2285, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2286: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2286, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2286, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2286, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2287: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2288: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2289: kk[jj] = kkk
__pyx_t_92 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_92, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2290: pts[0,jj] = D0 + kkk*u0
__pyx_t_93 = 0;
__pyx_t_94 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_93, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_94, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2291: pts[1,jj] = D1 + kkk*u1
__pyx_t_95 = 1;
__pyx_t_96 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_95, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_96, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2292: pts[2,jj] = D2 + kkk*u2
__pyx_t_97 = 2;
__pyx_t_98 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_97, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_98, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2293: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2293, __pyx_L1_error)
+2294: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2294, __pyx_L1_error) } } __pyx_L22:;
2295:
2296: else:
+2297: if method=='sum':
/*else*/ {
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2297, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* … */
goto __pyx_L35;
}
+2298: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2299: dl0 = DLs[0,ii]
__pyx_t_99 = 0;
__pyx_t_100 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_99 * __pyx_v_DLs.strides[0]) )) + __pyx_t_100)) )));
2300: # Compute the number of intervals to satisfy the resolution
+2301: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_101 = 1;
__pyx_t_102 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_101 * __pyx_v_DLs.strides[0]) )) + __pyx_t_102)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_v_dL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2301, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2302: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_103 = 1;
__pyx_t_104 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_103 * __pyx_v_DLs.strides[0]) )) + __pyx_t_104)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2303: dLr[ii] = dl
__pyx_t_105 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_105, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2304: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_106 = 0;
__pyx_t_107 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_106 * __pyx_v_Ds.strides[0]) )) + __pyx_t_107)) )));
__pyx_t_108 = 1;
__pyx_t_109 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_108 * __pyx_v_Ds.strides[0]) )) + __pyx_t_109)) )));
__pyx_t_110 = 2;
__pyx_t_111 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_110 * __pyx_v_Ds.strides[0]) )) + __pyx_t_111)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2305: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_112 = 0;
__pyx_t_113 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_112 * __pyx_v_us.strides[0]) )) + __pyx_t_113)) )));
__pyx_t_114 = 1;
__pyx_t_115 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_114 * __pyx_v_us.strides[0]) )) + __pyx_t_115)) )));
__pyx_t_116 = 2;
__pyx_t_117 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_116 * __pyx_v_us.strides[0]) )) + __pyx_t_117)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2306: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2306, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2306, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2306, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2307: kk = np.empty((N,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2307, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2307, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2307, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2308: for jj in range(0,N):
__pyx_t_39 = __pyx_v_N;
__pyx_t_40 = __pyx_t_39;
for (__pyx_t_41 = 0; __pyx_t_41 < __pyx_t_40; __pyx_t_41+=1) {
__pyx_v_jj = __pyx_t_41;
+2309: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2310: kk[jj] = kkk
__pyx_t_118 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_118, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2311: pts[0,jj] = D0 + kkk*u0
__pyx_t_119 = 0;
__pyx_t_120 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_119, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_120, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2312: pts[1,jj] = D1 + kkk*u1
__pyx_t_121 = 1;
__pyx_t_122 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_121, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_122, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2313: pts[2,jj] = D2 + kkk*u2
__pyx_t_123 = 2;
__pyx_t_124 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_123, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_124, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2314: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2314, __pyx_L1_error)
+2315: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2315, __pyx_L1_error) }
2316:
+2317: elif method=='simps':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2317, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L35; }
+2318: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2319: dl0 = DLs[0,ii]
__pyx_t_125 = 0;
__pyx_t_126 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_125 * __pyx_v_DLs.strides[0]) )) + __pyx_t_126)) )));
2320: # Compute the number of intervals to satisfy the resolution
+2321: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_127 = 1;
__pyx_t_128 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_127 * __pyx_v_DLs.strides[0]) )) + __pyx_t_128)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_v_dL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2321, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2322: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_49 = __pyx_v_N;
} else {
__pyx_t_49 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_49;
+2323: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_129 = 1;
__pyx_t_130 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_129 * __pyx_v_DLs.strides[0]) )) + __pyx_t_130)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2324: dLr[ii] = dl
__pyx_t_131 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_131, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2325: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_132 = 0;
__pyx_t_133 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_132 * __pyx_v_Ds.strides[0]) )) + __pyx_t_133)) )));
__pyx_t_134 = 1;
__pyx_t_135 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_134 * __pyx_v_Ds.strides[0]) )) + __pyx_t_135)) )));
__pyx_t_136 = 2;
__pyx_t_137 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_136 * __pyx_v_Ds.strides[0]) )) + __pyx_t_137)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2326: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_138 = 0;
__pyx_t_139 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_138 * __pyx_v_us.strides[0]) )) + __pyx_t_139)) )));
__pyx_t_140 = 1;
__pyx_t_141 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_140 * __pyx_v_us.strides[0]) )) + __pyx_t_141)) )));
__pyx_t_142 = 2;
__pyx_t_143 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_142 * __pyx_v_us.strides[0]) )) + __pyx_t_143)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2327: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2327, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2327, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2327, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2328: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2328, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2328, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2328, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2329: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2330: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2331: kk[jj] = kkk
__pyx_t_144 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_144, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2332: pts[0,jj] = D0 + kkk*u0
__pyx_t_145 = 0;
__pyx_t_146 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_145, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_146, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2333: pts[1,jj] = D1 + kkk*u1
__pyx_t_147 = 1;
__pyx_t_148 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_147, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_148, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2334: pts[2,jj] = D2 + kkk*u2
__pyx_t_149 = 2;
__pyx_t_150 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_149, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_150, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2335: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2335, __pyx_L1_error)
+2336: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2336, __pyx_L1_error) }
2337:
2338: else:
+2339: for ii in range(0,ND):
/*else*/ {
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2340: dl0 = DLs[0,ii]
__pyx_t_151 = 0;
__pyx_t_152 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_151 * __pyx_v_DLs.strides[0]) )) + __pyx_t_152)) )));
2341: # Compute the number of intervals to satisfy the resolution
+2342: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_153 = 1;
__pyx_t_154 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_153 * __pyx_v_DLs.strides[0]) )) + __pyx_t_154)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_v_dL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2342, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2343: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2344: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_155 = 1;
__pyx_t_156 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_155 * __pyx_v_DLs.strides[0]) )) + __pyx_t_156)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2345: dLr[ii] = dl
__pyx_t_157 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_157, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2346: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_158 = 0;
__pyx_t_159 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_158 * __pyx_v_Ds.strides[0]) )) + __pyx_t_159)) )));
__pyx_t_160 = 1;
__pyx_t_161 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_160 * __pyx_v_Ds.strides[0]) )) + __pyx_t_161)) )));
__pyx_t_162 = 2;
__pyx_t_163 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_162 * __pyx_v_Ds.strides[0]) )) + __pyx_t_163)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2347: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_164 = 0;
__pyx_t_165 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_164 * __pyx_v_us.strides[0]) )) + __pyx_t_165)) )));
__pyx_t_166 = 1;
__pyx_t_167 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_166 * __pyx_v_us.strides[0]) )) + __pyx_t_167)) )));
__pyx_t_168 = 2;
__pyx_t_169 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_168 * __pyx_v_us.strides[0]) )) + __pyx_t_169)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2348: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2348, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2349: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2349, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2349, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2349, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2350: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2351: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2352: kk[jj] = kkk
__pyx_t_170 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_170, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2353: pts[0,jj] = D0 + kkk*u0
__pyx_t_171 = 0;
__pyx_t_172 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_171, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_172, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2354: pts[1,jj] = D1 + kkk*u1
__pyx_t_173 = 1;
__pyx_t_174 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_173, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_174, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2355: pts[2,jj] = D2 + kkk*u2
__pyx_t_175 = 2;
__pyx_t_176 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_175, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_176, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2356: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2356, __pyx_L1_error)
+2357: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2357, __pyx_L1_error) } } __pyx_L35:; } __pyx_L21:;
2358:
2359: # Case with different resolution for each LOS
2360: else:
+2361: if dLMode=='rel':
/*else*/ {
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_dLMode, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2361, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* … */
goto __pyx_L48;
}
+2362: if method=='sum':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2362, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L49; }
+2363: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2364: N = <long>(Cceil(1./dL[ii]))
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_7, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2364, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_13));
+2365: dl0 = DLs[0,ii]
__pyx_t_177 = 0;
__pyx_t_178 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_177 * __pyx_v_DLs.strides[0]) )) + __pyx_t_178)) )));
+2366: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_179 = 1;
__pyx_t_180 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_179 * __pyx_v_DLs.strides[0]) )) + __pyx_t_180)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2367: dLr[ii] = dl
__pyx_t_181 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_181, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2368: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_182 = 0;
__pyx_t_183 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_182 * __pyx_v_Ds.strides[0]) )) + __pyx_t_183)) )));
__pyx_t_184 = 1;
__pyx_t_185 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_184 * __pyx_v_Ds.strides[0]) )) + __pyx_t_185)) )));
__pyx_t_186 = 2;
__pyx_t_187 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_186 * __pyx_v_Ds.strides[0]) )) + __pyx_t_187)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2369: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_188 = 0;
__pyx_t_189 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_188 * __pyx_v_us.strides[0]) )) + __pyx_t_189)) )));
__pyx_t_190 = 1;
__pyx_t_191 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_190 * __pyx_v_us.strides[0]) )) + __pyx_t_191)) )));
__pyx_t_192 = 2;
__pyx_t_193 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_192 * __pyx_v_us.strides[0]) )) + __pyx_t_193)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2370: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2370, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2370, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2370, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2371: kk = np.empty((N,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2371, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2371, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2371, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2372: for jj in range(0,N):
__pyx_t_39 = __pyx_v_N;
__pyx_t_40 = __pyx_t_39;
for (__pyx_t_41 = 0; __pyx_t_41 < __pyx_t_40; __pyx_t_41+=1) {
__pyx_v_jj = __pyx_t_41;
+2373: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2374: kk[jj] = kkk
__pyx_t_194 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_194, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2375: pts[0,jj] = D0 + kkk*u0
__pyx_t_195 = 0;
__pyx_t_196 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_195, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_196, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2376: pts[1,jj] = D1 + kkk*u1
__pyx_t_197 = 1;
__pyx_t_198 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_197, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_198, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2377: pts[2,jj] = D2 + kkk*u2
__pyx_t_199 = 2;
__pyx_t_200 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_199, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_200, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2378: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2378, __pyx_L1_error)
+2379: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2379, __pyx_L1_error) }
+2380: elif method=='simps':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2380, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L49; }
+2381: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2382: N = <long>(Cceil(1./dL[ii]))
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_7, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2382, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_13));
+2383: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_49 = __pyx_v_N;
} else {
__pyx_t_49 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_49;
+2384: dl0 = DLs[0,ii]
__pyx_t_201 = 0;
__pyx_t_202 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_201 * __pyx_v_DLs.strides[0]) )) + __pyx_t_202)) )));
+2385: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_203 = 1;
__pyx_t_204 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_203 * __pyx_v_DLs.strides[0]) )) + __pyx_t_204)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2386: dLr[ii] = dl
__pyx_t_205 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_205, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2387: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_206 = 0;
__pyx_t_207 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_206 * __pyx_v_Ds.strides[0]) )) + __pyx_t_207)) )));
__pyx_t_208 = 1;
__pyx_t_209 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_208 * __pyx_v_Ds.strides[0]) )) + __pyx_t_209)) )));
__pyx_t_210 = 2;
__pyx_t_211 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_210 * __pyx_v_Ds.strides[0]) )) + __pyx_t_211)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2388: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_212 = 0;
__pyx_t_213 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_212 * __pyx_v_us.strides[0]) )) + __pyx_t_213)) )));
__pyx_t_214 = 1;
__pyx_t_215 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_214 * __pyx_v_us.strides[0]) )) + __pyx_t_215)) )));
__pyx_t_216 = 2;
__pyx_t_217 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_216 * __pyx_v_us.strides[0]) )) + __pyx_t_217)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2389: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2389, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2389, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2389, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2390: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2390, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2390, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2390, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2391: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2392: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2393: kk[jj] = kkk
__pyx_t_218 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_218, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2394: pts[0,jj] = D0 + kkk*u0
__pyx_t_219 = 0;
__pyx_t_220 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_219, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_220, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2395: pts[1,jj] = D1 + kkk*u1
__pyx_t_221 = 1;
__pyx_t_222 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_221, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_222, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2396: pts[2,jj] = D2 + kkk*u2
__pyx_t_223 = 2;
__pyx_t_224 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_223, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_224, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2397: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2397, __pyx_L1_error)
+2398: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2398, __pyx_L1_error) }
2399:
2400: else:
+2401: for ii in range(0,ND):
/*else*/ {
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2402: N = <long>(Cceil(1./dL[ii]))
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_7, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2402, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_13));
+2403: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2404: dl0 = DLs[0,ii]
__pyx_t_225 = 0;
__pyx_t_226 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_225 * __pyx_v_DLs.strides[0]) )) + __pyx_t_226)) )));
+2405: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_227 = 1;
__pyx_t_228 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_227 * __pyx_v_DLs.strides[0]) )) + __pyx_t_228)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2406: dLr[ii] = dl
__pyx_t_229 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_229, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2407: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_230 = 0;
__pyx_t_231 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_230 * __pyx_v_Ds.strides[0]) )) + __pyx_t_231)) )));
__pyx_t_232 = 1;
__pyx_t_233 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_232 * __pyx_v_Ds.strides[0]) )) + __pyx_t_233)) )));
__pyx_t_234 = 2;
__pyx_t_235 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_234 * __pyx_v_Ds.strides[0]) )) + __pyx_t_235)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2408: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_236 = 0;
__pyx_t_237 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_236 * __pyx_v_us.strides[0]) )) + __pyx_t_237)) )));
__pyx_t_238 = 1;
__pyx_t_239 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_238 * __pyx_v_us.strides[0]) )) + __pyx_t_239)) )));
__pyx_t_240 = 2;
__pyx_t_241 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_240 * __pyx_v_us.strides[0]) )) + __pyx_t_241)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2409: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2409, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2409, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2409, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2410: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2410, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2410, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2410, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2411: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2412: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2413: kk[jj] = kkk
__pyx_t_242 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_242, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2414: pts[0,jj] = D0 + kkk*u0
__pyx_t_243 = 0;
__pyx_t_244 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_243, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_244, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2415: pts[1,jj] = D1 + kkk*u1
__pyx_t_245 = 1;
__pyx_t_246 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_245, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_246, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2416: pts[2,jj] = D2 + kkk*u2
__pyx_t_247 = 2;
__pyx_t_248 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_247, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_248, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2417: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2417, __pyx_L1_error)
+2418: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2418, __pyx_L1_error) } } __pyx_L49:;
2419:
2420: else:
+2421: if method=='sum':
/*else*/ {
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2421, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
/* … */
goto __pyx_L62;
}
+2422: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2423: dl0 = DLs[0,ii]
__pyx_t_249 = 0;
__pyx_t_250 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_249 * __pyx_v_DLs.strides[0]) )) + __pyx_t_250)) )));
2424: # Compute the number of intervals to satisfy the resolution
+2425: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_251 = 1;
__pyx_t_252 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_251 * __pyx_v_DLs.strides[0]) )) + __pyx_t_252)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2425, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2426: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_253 = 1;
__pyx_t_254 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_253 * __pyx_v_DLs.strides[0]) )) + __pyx_t_254)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2427: dLr[ii] = dl
__pyx_t_255 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_255, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2428: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_256 = 0;
__pyx_t_257 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_256 * __pyx_v_Ds.strides[0]) )) + __pyx_t_257)) )));
__pyx_t_258 = 1;
__pyx_t_259 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_258 * __pyx_v_Ds.strides[0]) )) + __pyx_t_259)) )));
__pyx_t_260 = 2;
__pyx_t_261 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_260 * __pyx_v_Ds.strides[0]) )) + __pyx_t_261)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2429: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_262 = 0;
__pyx_t_263 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_262 * __pyx_v_us.strides[0]) )) + __pyx_t_263)) )));
__pyx_t_264 = 1;
__pyx_t_265 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_264 * __pyx_v_us.strides[0]) )) + __pyx_t_265)) )));
__pyx_t_266 = 2;
__pyx_t_267 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_266 * __pyx_v_us.strides[0]) )) + __pyx_t_267)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2430: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2430, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2430, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2430, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2431: kk = np.empty((N,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2431, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2431, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2431, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2432: for jj in range(0,N):
__pyx_t_39 = __pyx_v_N;
__pyx_t_40 = __pyx_t_39;
for (__pyx_t_41 = 0; __pyx_t_41 < __pyx_t_40; __pyx_t_41+=1) {
__pyx_v_jj = __pyx_t_41;
+2433: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2434: kk[jj] = kkk
__pyx_t_268 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_268, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2435: pts[0,jj] = D0 + kkk*u0
__pyx_t_269 = 0;
__pyx_t_270 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_269, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_270, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2436: pts[1,jj] = D1 + kkk*u1
__pyx_t_271 = 1;
__pyx_t_272 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_271, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_272, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2437: pts[2,jj] = D2 + kkk*u2
__pyx_t_273 = 2;
__pyx_t_274 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_273, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_274, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2438: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2438, __pyx_L1_error)
+2439: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2439, __pyx_L1_error) }
2440:
+2441: elif method=='simps':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2441, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L62; }
+2442: for ii in range(0,ND):
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2443: dl0 = DLs[0,ii]
__pyx_t_275 = 0;
__pyx_t_276 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_275 * __pyx_v_DLs.strides[0]) )) + __pyx_t_276)) )));
2444: # Compute the number of intervals to satisfy the resolution
+2445: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_277 = 1;
__pyx_t_278 = __pyx_v_ii;
__pyx_t_6 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_277 * __pyx_v_DLs.strides[0]) )) + __pyx_t_278)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2445, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2446: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_49 = __pyx_v_N;
} else {
__pyx_t_49 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_49;
+2447: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_279 = 1;
__pyx_t_280 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_279 * __pyx_v_DLs.strides[0]) )) + __pyx_t_280)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2448: dLr[ii] = dl
__pyx_t_281 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_281, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2449: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_282 = 0;
__pyx_t_283 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_282 * __pyx_v_Ds.strides[0]) )) + __pyx_t_283)) )));
__pyx_t_284 = 1;
__pyx_t_285 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_284 * __pyx_v_Ds.strides[0]) )) + __pyx_t_285)) )));
__pyx_t_286 = 2;
__pyx_t_287 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_286 * __pyx_v_Ds.strides[0]) )) + __pyx_t_287)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2450: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_288 = 0;
__pyx_t_289 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_288 * __pyx_v_us.strides[0]) )) + __pyx_t_289)) )));
__pyx_t_290 = 1;
__pyx_t_291 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_290 * __pyx_v_us.strides[0]) )) + __pyx_t_291)) )));
__pyx_t_292 = 2;
__pyx_t_293 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_292 * __pyx_v_us.strides[0]) )) + __pyx_t_293)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2451: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2451, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2451, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2451, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2452: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2452, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2452, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2452, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2453: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2454: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2455: kk[jj] = kkk
__pyx_t_294 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_294, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2456: pts[0,jj] = D0 + kkk*u0
__pyx_t_295 = 0;
__pyx_t_296 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_295, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_296, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2457: pts[1,jj] = D1 + kkk*u1
__pyx_t_297 = 1;
__pyx_t_298 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_297, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_298, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2458: pts[2,jj] = D2 + kkk*u2
__pyx_t_299 = 2;
__pyx_t_300 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_299, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_300, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2459: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2459, __pyx_L1_error)
+2460: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2460, __pyx_L1_error) }
2461:
2462: else:
+2463: for ii in range(0,ND):
/*else*/ {
__pyx_t_10 = __pyx_v_ND;
__pyx_t_11 = __pyx_t_10;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
__pyx_v_ii = __pyx_t_12;
+2464: dl0 = DLs[0,ii]
__pyx_t_301 = 0;
__pyx_t_302 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_301 * __pyx_v_DLs.strides[0]) )) + __pyx_t_302)) )));
2465: # Compute the number of intervals to satisfy the resolution
+2466: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_303 = 1;
__pyx_t_304 = __pyx_v_ii;
__pyx_t_4 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_303 * __pyx_v_DLs.strides[0]) )) + __pyx_t_304)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2466, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_13));
+2467: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2468: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_305 = 1;
__pyx_t_306 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_305 * __pyx_v_DLs.strides[0]) )) + __pyx_t_306)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2469: dLr[ii] = dl
__pyx_t_307 = __pyx_v_ii;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_dLr.rcbuffer->pybuffer.buf, __pyx_t_307, __pyx_pybuffernd_dLr.diminfo[0].strides) = __pyx_v_dl;
+2470: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_308 = 0;
__pyx_t_309 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_308 * __pyx_v_Ds.strides[0]) )) + __pyx_t_309)) )));
__pyx_t_310 = 1;
__pyx_t_311 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_310 * __pyx_v_Ds.strides[0]) )) + __pyx_t_311)) )));
__pyx_t_312 = 2;
__pyx_t_313 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_312 * __pyx_v_Ds.strides[0]) )) + __pyx_t_313)) )));
__pyx_v_D0 = __pyx_t_13;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2471: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_314 = 0;
__pyx_t_315 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_314 * __pyx_v_us.strides[0]) )) + __pyx_t_315)) )));
__pyx_t_316 = 1;
__pyx_t_317 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_316 * __pyx_v_us.strides[0]) )) + __pyx_t_317)) )));
__pyx_t_318 = 2;
__pyx_t_319 = __pyx_v_ii;
__pyx_t_13 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_318 * __pyx_v_us.strides[0]) )) + __pyx_t_319)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_13;
+2472: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2472, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2472, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2472, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2473: kk = np.empty((N+1,),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2473, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2473, __pyx_L1_error) __pyx_t_38 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kk.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_t_38, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kk.rcbuffer->pybuffer, (PyObject*)__pyx_v_kk, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_kk.diminfo[0].strides = __pyx_pybuffernd_kk.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kk.diminfo[0].shape = __pyx_pybuffernd_kk.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2473, __pyx_L1_error) } __pyx_t_38 = 0; __Pyx_XDECREF_SET(__pyx_v_kk, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2474: for jj in range(0,N+1):
__pyx_t_49 = (__pyx_v_N + 1);
__pyx_t_67 = __pyx_t_49;
for (__pyx_t_39 = 0; __pyx_t_39 < __pyx_t_67; __pyx_t_39+=1) {
__pyx_v_jj = __pyx_t_39;
+2475: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2476: kk[jj] = kkk
__pyx_t_320 = __pyx_v_jj;
*__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kk.rcbuffer->pybuffer.buf, __pyx_t_320, __pyx_pybuffernd_kk.diminfo[0].strides) = __pyx_v_kkk;
+2477: pts[0,jj] = D0 + kkk*u0
__pyx_t_321 = 0;
__pyx_t_322 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_321, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_322, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2478: pts[1,jj] = D1 + kkk*u1
__pyx_t_323 = 1;
__pyx_t_324 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_323, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_324, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2479: pts[2,jj] = D2 + kkk*u2
__pyx_t_325 = 2;
__pyx_t_326 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_325, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_326, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2480: Pts[ii] = pts
if (unlikely(__Pyx_SetItemInt(__pyx_v_Pts, __pyx_v_ii, ((PyObject *)__pyx_v_pts), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2480, __pyx_L1_error)
+2481: k[ii] = kk
if (unlikely(__Pyx_SetItemInt(__pyx_v_k, __pyx_v_ii, ((PyObject *)__pyx_v_kk), unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 0) < 0)) __PYX_ERR(0, 2481, __pyx_L1_error) } } __pyx_L62:; } __pyx_L48:; } __pyx_L20:;
2482:
+2483: return Pts, k, dLr
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_Pts); __Pyx_INCREF(__pyx_v_k); __Pyx_GIVEREF(__pyx_v_k); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_k); __Pyx_INCREF(((PyObject *)__pyx_v_dLr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dLr)); PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_dLr)); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
2484:
2485:
2486:
2487:
2488:
2489:
2490: ######################################################################
2491: # Signal calculation
2492: ######################################################################
2493:
2494:
+2495: cdef get_insp(ff):
static PyObject *__pyx_f_4tofu_4geom_5_GG03_get_insp(PyObject *__pyx_v_ff) {
PyObject *__pyx_v_out = NULL;
PyObject *__pyx_v_pars = NULL;
PyObject *__pyx_v_na = NULL;
PyObject *__pyx_v_kw = NULL;
PyObject *__pyx_v_nat = NULL;
PyObject *__pyx_v_nak = NULL;
PyObject *__pyx_v_pp = NULL;
PyObject *__pyx_v_ii = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_insp", 0);
__Pyx_TraceCall("get_insp", __pyx_f[0], 2495, 0, __PYX_ERR(0, 2495, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("tofu.geom._GG03.get_insp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_out);
__Pyx_XDECREF(__pyx_v_pars);
__Pyx_XDECREF(__pyx_v_na);
__Pyx_XDECREF(__pyx_v_kw);
__Pyx_XDECREF(__pyx_v_nat);
__Pyx_XDECREF(__pyx_v_nak);
__Pyx_XDECREF(__pyx_v_pp);
__Pyx_XDECREF(__pyx_v_ii);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+2496: out = insp(ff)
__Pyx_TraceLine(2496,0,__PYX_ERR(0, 2496, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_insp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_ff) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_ff); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_out = __pyx_t_1; __pyx_t_1 = 0;
+2497: if sys.version[0]=='3':
__Pyx_TraceLine(2497,0,__PYX_ERR(0, 2497, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_3, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 2497, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+2498: pars = out.parameters.values()
__Pyx_TraceLine(2498,0,__PYX_ERR(0, 2498, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_parameters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_pars = __pyx_t_1; __pyx_t_1 = 0;
+2499: na = np.sum([(pp.kind==pp.POSITIONAL_OR_KEYWORD
__Pyx_TraceLine(2499,0,__PYX_ERR(0, 2499, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __Pyx_TraceLine(2499,0,__PYX_ERR(0, 2499, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_kind); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_POSITIONAL_OR_KEYWORD); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 2499, __pyx_L1_error) if (__pyx_t_4) { __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_8 = __pyx_t_11; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L6_bool_binop_done; }
+2500: and pp.default is pp.empty) for pp in pars])
__Pyx_TraceLine(2500,0,__PYX_ERR(0, 2500, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_v_pars)) || PyTuple_CheckExact(__pyx_v_pars)) { __pyx_t_5 = __pyx_v_pars; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_pars); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2500, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2500, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2500, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2500, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_8); __pyx_t_8 = 0; /* … */ __Pyx_TraceLine(2500,0,__PYX_ERR(0, 2500, __pyx_L1_error)) __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_default); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_empty); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = (__pyx_t_11 == __pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __pyx_t_10; __pyx_t_10 = 0; __pyx_L6_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_na = __pyx_t_1; __pyx_t_1 = 0;
+2501: kw = [pp.name for pp in pars if (pp.kind==pp.POSITIONAL_OR_KEYWORD
__Pyx_TraceLine(2501,0,__PYX_ERR(0, 2501, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_pars)) || PyTuple_CheckExact(__pyx_v_pars)) { __pyx_t_2 = __pyx_v_pars; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_pars); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2501, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2501, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2501, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2501, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_3); __pyx_t_3 = 0; /* … */ __Pyx_TraceLine(2502,0,__PYX_ERR(0, 2502, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_kind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __Pyx_TraceLine(2501,0,__PYX_ERR(0, 2501, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_POSITIONAL_OR_KEYWORD); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_12) { } else { __pyx_t_4 = __pyx_t_12; goto __pyx_L11_bool_binop_done; } /* … */ __Pyx_TraceLine(2501,0,__PYX_ERR(0, 2501, __pyx_L1_error)) if (__pyx_t_4) { __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 2501, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kw = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+2502: and pp.default is not pp.empty)]
__Pyx_TraceLine(2502,0,__PYX_ERR(0, 2502, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_default); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pp, __pyx_n_s_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = (__pyx_t_8 != __pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_13 = (__pyx_t_12 != 0); __pyx_t_4 = __pyx_t_13; __pyx_L11_bool_binop_done:;
2503: else:
+2504: nat, nak = len(out.args), len(out.defaults)
__Pyx_TraceLine(2504,0,__PYX_ERR(0, 2504, __pyx_L1_error)) /*else*/ { __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_defaults); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_nat = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_nak = __pyx_t_2; __pyx_t_2 = 0;
+2505: na = nat-nak
__Pyx_TraceLine(2505,0,__PYX_ERR(0, 2505, __pyx_L1_error)) __pyx_t_2 = PyNumber_Subtract(__pyx_v_nat, __pyx_v_nak); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_na = __pyx_t_2; __pyx_t_2 = 0;
+2506: kw = [out.args[ii] for ii in range(nat-1,na-1,-1)][::-1]
__Pyx_TraceLine(2506,0,__PYX_ERR(0, 2506, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nat, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_na, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_int_neg_1); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2506, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2506, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2506, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2506, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_ii, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_args); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_ii); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_slice__20); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kw = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0; } __pyx_L3:; /* … */ __pyx_slice__20 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__20)) __PYX_ERR(0, 2506, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__20); __Pyx_GIVEREF(__pyx_slice__20);
+2507: return na, kw
__Pyx_TraceLine(2507,0,__PYX_ERR(0, 2507, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_na); __Pyx_GIVEREF(__pyx_v_na); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_na); __Pyx_INCREF(__pyx_v_kw); __Pyx_GIVEREF(__pyx_v_kw); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_kw); __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0;
2508:
2509:
2510:
+2511: def check_ff(ff, t=None, Ani=None, bool Vuniq=False):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_51check_ff(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_51check_ff = {"check_ff", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_51check_ff, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_51check_ff(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_ff = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_Ani = 0;
PyBoolObject *__pyx_v_Vuniq = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_ff (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ff,&__pyx_n_s_t,&__pyx_n_s_Ani,&__pyx_n_s_Vuniq,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
values[2] = ((PyObject *)((PyObject *)Py_None));
values[3] = (PyObject *)((PyBoolObject *)((PyObject *)Py_False));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ff)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t);
if (value) { values[1] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Ani);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Vuniq);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "check_ff") < 0)) __PYX_ERR(0, 2511, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_ff = values[0];
__pyx_v_t = values[1];
__pyx_v_Ani = values[2];
__pyx_v_Vuniq = ((PyBoolObject *)values[3]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("check_ff", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2511, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.check_ff", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Vuniq), __pyx_ptype_7cpython_4bool_bool, 1, "Vuniq", 0))) __PYX_ERR(0, 2511, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_50check_ff(__pyx_self, __pyx_v_ff, __pyx_v_t, __pyx_v_Ani, __pyx_v_Vuniq);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_50check_ff(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ff, PyObject *__pyx_v_t, PyObject *__pyx_v_Ani, PyBoolObject *__pyx_v_Vuniq) {
PyBoolObject *__pyx_v_ani = 0;
PyObject *__pyx_v_stre = NULL;
PyObject *__pyx_v_na = NULL;
PyObject *__pyx_v_kw = NULL;
int __pyx_v_C;
PyObject *__pyx_v_Pts = NULL;
PyObject *__pyx_v_NP = NULL;
PyObject *__pyx_v_out = NULL;
PyObject *__pyx_v_Str = NULL;
Py_ssize_t __pyx_v_nt;
PyObject *__pyx_v_Vect = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__64)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_ff", 0);
__Pyx_TraceCall("check_ff", __pyx_f[0], 2511, 0, __PYX_ERR(0, 2511, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("tofu.geom._GG03.check_ff", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_ani);
__Pyx_XDECREF(__pyx_v_stre);
__Pyx_XDECREF(__pyx_v_na);
__Pyx_XDECREF(__pyx_v_kw);
__Pyx_XDECREF(__pyx_v_Pts);
__Pyx_XDECREF(__pyx_v_NP);
__Pyx_XDECREF(__pyx_v_out);
__Pyx_XDECREF(__pyx_v_Str);
__Pyx_XDECREF(__pyx_v_Vect);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__142 = PyTuple_Pack(15, __pyx_n_s_ff, __pyx_n_s_t, __pyx_n_s_Ani, __pyx_n_s_Vuniq, __pyx_n_s_ani, __pyx_n_s_stre, __pyx_n_s_na, __pyx_n_s_kw, __pyx_n_s_C, __pyx_n_s_Pts, __pyx_n_s_NP, __pyx_n_s_out, __pyx_n_s_Str, __pyx_n_s_nt, __pyx_n_s_Vect); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__142);
__Pyx_GIVEREF(__pyx_tuple__142);
__pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_check_ff, 2511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 2511, __pyx_L1_error)
/* … */
__Pyx_TraceLine(2511,0,__PYX_ERR(0, 2511, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_51check_ff, 0, __pyx_n_s_check_ff, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__143);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_ff, __pyx_t_2) < 0) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__143 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__143);
__Pyx_GIVEREF(__pyx_tuple__143);
2512: cdef bool ani
+2513: stre = "Input emissivity function (ff)"
__Pyx_TraceLine(2513,0,__PYX_ERR(0, 2513, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_Input_emissivity_function_ff); __pyx_v_stre = __pyx_kp_s_Input_emissivity_function_ff;
+2514: assert hasattr(ff,'__call__'), stre+" must be a callable (function) !"
__Pyx_TraceLine(2514,0,__PYX_ERR(0, 2514, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = __Pyx_HasAttr(__pyx_v_ff, __pyx_n_s_call); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2514, __pyx_L1_error) if (unlikely(!(__pyx_t_1 != 0))) { __pyx_t_2 = PyNumber_Add(__pyx_v_stre, __pyx_kp_s_must_be_a_callable_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_Pack(1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 2514, __pyx_L1_error) } } #endif
+2515: na, kw = get_insp(ff)
__Pyx_TraceLine(2515,0,__PYX_ERR(0, 2515, __pyx_L1_error)) __pyx_t_3 = __pyx_f_4tofu_4geom_5_GG03_get_insp(__pyx_v_ff); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2515, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 2515, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2515, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_v_na = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_kw = __pyx_t_4; __pyx_t_4 = 0;
+2516: assert na==1, stre+" must take only one positional argument: ff(Pts) !"
__Pyx_TraceLine(2516,0,__PYX_ERR(0, 2516, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_na, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) { __pyx_t_3 = PyNumber_Add(__pyx_v_stre, __pyx_kp_s_must_take_only_one_positional_a); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_Pack(1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyErr_SetObject(PyExc_AssertionError, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 2516, __pyx_L1_error) } } #endif
+2517: assert 't' in kw, stre+" must have kwarg 't=None' for time vector !"
__Pyx_TraceLine(2517,0,__PYX_ERR(0, 2517, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_t, __pyx_v_kw, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2517, __pyx_L1_error) if (unlikely(!(__pyx_t_1 != 0))) { __pyx_t_4 = PyNumber_Add(__pyx_v_stre, __pyx_kp_s_must_have_kwarg_t_None_for_time); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_Pack(1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 2517, __pyx_L1_error) } } #endif
+2518: C = type(t) in [int,float,np.int64,np.float64] or hasattr(t,'__iter__')
__Pyx_TraceLine(2518,0,__PYX_ERR(0, 2518, __pyx_L1_error)) __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_t))); __pyx_t_3 = ((PyObject *)Py_TYPE(__pyx_v_t)); __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_t_3), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_t_3), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __pyx_t_8; __pyx_L7_bool_binop_done:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (!__pyx_t_8) { } else { __pyx_t_1 = __pyx_t_8; goto __pyx_L5_bool_binop_done; } __pyx_t_8 = __Pyx_HasAttr(__pyx_v_t, __pyx_n_s_iter); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 2518, __pyx_L1_error) __pyx_t_7 = (__pyx_t_8 != 0); __pyx_t_1 = __pyx_t_7; __pyx_L5_bool_binop_done:; __pyx_v_C = __pyx_t_1;
+2519: assert t is None or C, "Arg t must be None, a scalar or an iterable !"
__Pyx_TraceLine(2519,0,__PYX_ERR(0, 2519, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_7 = (__pyx_v_t == Py_None); __pyx_t_8 = (__pyx_t_7 != 0); if (!__pyx_t_8) { } else { __pyx_t_1 = __pyx_t_8; goto __pyx_L11_bool_binop_done; } __pyx_t_8 = (__pyx_v_C != 0); __pyx_t_1 = __pyx_t_8; __pyx_L11_bool_binop_done:; if (unlikely(!__pyx_t_1)) { PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_t_must_be_None_a_scalar_or_a); __PYX_ERR(0, 2519, __pyx_L1_error) } } #endif
+2520: Pts = np.array([[1,2],[3,4],[5,6]])
__Pyx_TraceLine(2520,0,__PYX_ERR(0, 2520, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_int_2); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_int_3); __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_int_4); __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_int_5); __Pyx_GIVEREF(__pyx_int_5); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_int_5); __Pyx_INCREF(__pyx_int_6); __Pyx_GIVEREF(__pyx_int_6); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_int_6); __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Pts = __pyx_t_3; __pyx_t_3 = 0;
+2521: NP = Pts.shape[1]
__Pyx_TraceLine(2521,0,__PYX_ERR(0, 2521, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_NP = __pyx_t_2; __pyx_t_2 = 0;
+2522: try:
__Pyx_TraceLine(2522,0,__PYX_ERR(0, 2522, __pyx_L13_error)) { /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L18_try_end; __pyx_L13_error:; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; /* … */ __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); goto __pyx_L1_error; __pyx_L14_exception_handled:; __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); __pyx_L18_try_end:; }
+2523: out = ff(Pts, t=t)
__Pyx_TraceLine(2523,0,__PYX_ERR(0, 2523, __pyx_L13_error)) __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2523, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_Pts); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2523, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2523, __pyx_L13_error) __pyx_t_10 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2523, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_out = __pyx_t_10; __pyx_t_10 = 0;
+2524: except Exception:
__Pyx_TraceLine(2524,0,__PYX_ERR(0, 2524, __pyx_L15_except_error)) __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_14) { __Pyx_AddTraceback("tofu.geom._GG03.check_ff", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 2524, __pyx_L15_except_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2);
+2525: Str = stre+" must take one positional arg: a (3,N) np.ndarray"
__Pyx_TraceLine(2525,0,__PYX_ERR(0, 2525, __pyx_L15_except_error)) __pyx_t_9 = PyNumber_Add(__pyx_v_stre, __pyx_kp_s_must_take_one_positional_arg_a); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2525, __pyx_L15_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_Str = __pyx_t_9; __pyx_t_9 = 0;
+2526: assert False, Str
__Pyx_TraceLine(2526,0,__PYX_ERR(0, 2526, __pyx_L15_except_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!0)) { __pyx_t_9 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2526, __pyx_L15_except_error) __Pyx_GOTREF(__pyx_t_9); PyErr_SetObject(PyExc_AssertionError, __pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(0, 2526, __pyx_L15_except_error) } } #endif __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L14_exception_handled; } goto __pyx_L15_except_error; __pyx_L15_except_error:;
+2527: if hasattr(t,'__iter__'):
__Pyx_TraceLine(2527,0,__PYX_ERR(0, 2527, __pyx_L1_error)) __pyx_t_1 = __Pyx_HasAttr(__pyx_v_t, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2527, __pyx_L1_error) __pyx_t_8 = (__pyx_t_1 != 0); if (__pyx_t_8) { /* … */ goto __pyx_L21; }
+2528: nt = len(t)
__Pyx_TraceLine(2528,0,__PYX_ERR(0, 2528, __pyx_L1_error)) __pyx_t_15 = PyObject_Length(__pyx_v_t); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2528, __pyx_L1_error) __pyx_v_nt = __pyx_t_15;
2529: Str = ("ff(Pts,t=t), where Pts is a (3,N) np.array and "
+2530: +"t a len()=nt iterable, must return a (nt,N) np.ndarray !")
__Pyx_TraceLine(2530,0,__PYX_ERR(0, 2530, __pyx_L1_error)) __pyx_t_2 = PyNumber_Add(__pyx_kp_s_ff_Pts_t_t_where_Pts_is_a_3_N_np, __pyx_kp_s_t_a_len_nt_iterable_must_return); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_Str, __pyx_t_2); __pyx_t_2 = 0;
+2531: assert type(out) is np.ndarray and out.shape==(nt,NP), Str
__Pyx_TraceLine(2531,0,__PYX_ERR(0, 2531, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2531, __pyx_L1_error) } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_out)) == __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (__pyx_t_1 != 0); if (__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L22_bool_binop_done; } if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2531, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_nt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __Pyx_INCREF(__pyx_v_NP); __Pyx_GIVEREF(__pyx_v_NP); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_NP); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = __pyx_t_7; __pyx_L22_bool_binop_done:; if (unlikely(!__pyx_t_8)) { __pyx_t_2 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 2531, __pyx_L1_error) } } #endif
2532: else:
+2533: Str = ("When fed a (3,N) np.array only, or if t is a scalar,"
__Pyx_TraceLine(2533,0,__PYX_ERR(0, 2533, __pyx_L1_error)) /*else*/ {
+2534: +" ff must return a (N,) np.ndarray !")
__Pyx_TraceLine(2534,0,__PYX_ERR(0, 2534, __pyx_L1_error)) __pyx_t_2 = PyNumber_Add(__pyx_kp_s_When_fed_a_3_N_np_array_only_or, __pyx_kp_s_ff_must_return_a_N_np_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_Str, __pyx_t_2); __pyx_t_2 = 0;
+2535: assert type(out) is np.ndarray and out.shape==(NP,), Str
__Pyx_TraceLine(2535,0,__PYX_ERR(0, 2535, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2535, __pyx_L1_error) } __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_v_out)) == __pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_1 = (__pyx_t_7 != 0); if (__pyx_t_1) { } else { __pyx_t_8 = __pyx_t_1; goto __pyx_L24_bool_binop_done; } if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2535, __pyx_L1_error) } __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_shape); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_NP); __Pyx_GIVEREF(__pyx_v_NP); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_NP); __pyx_t_3 = PyObject_RichCompare(__pyx_t_10, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __pyx_t_1; __pyx_L24_bool_binop_done:; if (unlikely(!__pyx_t_8)) { __pyx_t_3 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 2535, __pyx_L1_error) } } #endif } __pyx_L21:;
2536:
+2537: ani = ('Vect' in kw) if Ani is None else Ani
__Pyx_TraceLine(2537,0,__PYX_ERR(0, 2537, __pyx_L1_error)) __pyx_t_8 = (__pyx_v_Ani == Py_None); if ((__pyx_t_8 != 0)) { __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_Vect, __pyx_v_kw, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2537, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7cpython_4bool_bool)))) __PYX_ERR(0, 2537, __pyx_L1_error) __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { if (!(likely(((__pyx_v_Ani) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_Ani, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_INCREF(__pyx_v_Ani); __pyx_t_3 = __pyx_v_Ani; } __pyx_v_ani = ((PyBoolObject *)__pyx_t_3); __pyx_t_3 = 0;
+2538: if ani:
__Pyx_TraceLine(2538,0,__PYX_ERR(0, 2538, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2538, __pyx_L1_error) if (__pyx_t_8) { /* … */ }
+2539: Str = "If Ani=True, ff must take a keyword argument 'Vect=None' !"
__Pyx_TraceLine(2539,0,__PYX_ERR(0, 2539, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_If_Ani_True_ff_must_take_a_keywo); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_kp_s_If_Ani_True_ff_must_take_a_keywo);
+2540: assert 'Vect' in kw, Str
__Pyx_TraceLine(2540,0,__PYX_ERR(0, 2540, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_Vect, __pyx_v_kw, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2540, __pyx_L1_error) if (unlikely(!(__pyx_t_8 != 0))) { __pyx_t_3 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 2540, __pyx_L1_error) } } #endif
+2541: Vect = np.array([1,2,3]) if Vuniq else np.ones(Pts.shape)
__Pyx_TraceLine(2541,0,__PYX_ERR(0, 2541, __pyx_L1_error)) __pyx_t_8 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_Vuniq)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2541, __pyx_L1_error) if (__pyx_t_8) { __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_int_1); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_int_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_int_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ones); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_Pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } __pyx_v_Vect = __pyx_t_3; __pyx_t_3 = 0;
+2542: try:
__Pyx_TraceLine(2542,0,__PYX_ERR(0, 2542, __pyx_L27_error)) { /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L32_try_end; __pyx_L27_error:; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; /* … */ __Pyx_XGIVEREF(__pyx_t_13); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); goto __pyx_L1_error; __pyx_L28_exception_handled:; __Pyx_XGIVEREF(__pyx_t_13); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); __pyx_L32_try_end:; }
+2543: out = ff(Pts, Vect=Vect, t=t)
__Pyx_TraceLine(2543,0,__PYX_ERR(0, 2543, __pyx_L27_error)) __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2543, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_Pts); __Pyx_GIVEREF(__pyx_v_Pts); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_Pts); __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2543, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_Vect, __pyx_v_Vect) < 0) __PYX_ERR(0, 2543, __pyx_L27_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2543, __pyx_L27_error) __pyx_t_10 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2543, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_out, __pyx_t_10); __pyx_t_10 = 0;
+2544: except Exception:
__Pyx_TraceLine(2544,0,__PYX_ERR(0, 2544, __pyx_L29_except_error)) __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_14) { __Pyx_AddTraceback("tofu.geom._GG03.check_ff", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 2544, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3);
+2545: Str = "If Ani=True, ff must handle multiple points Pts (3,N) with "
__Pyx_TraceLine(2545,0,__PYX_ERR(0, 2545, __pyx_L29_except_error)) __Pyx_INCREF(__pyx_kp_s_If_Ani_True_ff_must_handle_multi); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_kp_s_If_Ani_True_ff_must_handle_multi);
+2546: if Vuniq:
__Pyx_TraceLine(2546,0,__PYX_ERR(0, 2546, __pyx_L29_except_error)) __pyx_t_8 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_Vuniq)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2546, __pyx_L29_except_error) if (__pyx_t_8) { /* … */ goto __pyx_L35; }
+2547: Str += "a unique common vector (Vect as a len()=3 iterable)"
__Pyx_TraceLine(2547,0,__PYX_ERR(0, 2547, __pyx_L29_except_error)) __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_Str, __pyx_kp_s_a_unique_common_vector_Vect_as_a); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2547, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_t_9); __pyx_t_9 = 0;
2548: else:
+2549: Str += "multiple vectors (Vect as a (3,N) np.ndarray)"
__Pyx_TraceLine(2549,0,__PYX_ERR(0, 2549, __pyx_L29_except_error)) /*else*/ { __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_Str, __pyx_kp_s_multiple_vectors_Vect_as_a_3_N_n); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2549, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_t_9); __pyx_t_9 = 0; } __pyx_L35:;
+2550: assert False, Str
__Pyx_TraceLine(2550,0,__PYX_ERR(0, 2550, __pyx_L29_except_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!0)) { __pyx_t_9 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2550, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_9); PyErr_SetObject(PyExc_AssertionError, __pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(0, 2550, __pyx_L29_except_error) } } #endif __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L28_exception_handled; } goto __pyx_L29_except_error; __pyx_L29_except_error:;
+2551: if hasattr(t,'__iter__'):
__Pyx_TraceLine(2551,0,__PYX_ERR(0, 2551, __pyx_L1_error)) __pyx_t_8 = __Pyx_HasAttr(__pyx_v_t, __pyx_n_s_iter); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 2551, __pyx_L1_error) __pyx_t_1 = (__pyx_t_8 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L36; }
2552: Str = ("If Ani=True, ff must return a (nt,N) np.ndarray when "
+2553: +"Pts is (3,N), Vect is provided and t is (nt,)")
__Pyx_TraceLine(2553,0,__PYX_ERR(0, 2553, __pyx_L1_error)) __pyx_t_3 = PyNumber_Add(__pyx_kp_s_If_Ani_True_ff_must_return_a_nt, __pyx_kp_s_Pts_is_3_N_Vect_is_provided_and); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_t_3); __pyx_t_3 = 0;
+2554: assert type(out) is np.ndarray and out.shape==(nt,NP), Str
__Pyx_TraceLine(2554,0,__PYX_ERR(0, 2554, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2554, __pyx_L1_error) } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = (((PyObject *)Py_TYPE(__pyx_v_out)) == __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L37_bool_binop_done; } if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2554, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_nt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __Pyx_INCREF(__pyx_v_NP); __Pyx_GIVEREF(__pyx_v_NP); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_NP); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_7; __pyx_L37_bool_binop_done:; if (unlikely(!__pyx_t_1)) { __pyx_t_3 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 2554, __pyx_L1_error) } } #endif
2555: else:
+2556: Str = ("If Ani=True, ff must return a (nt,N) np.ndarray when "
__Pyx_TraceLine(2556,0,__PYX_ERR(0, 2556, __pyx_L1_error)) /*else*/ {
+2557: +"Pts is (3,N), Vect is provided and t is (nt,)")
__Pyx_TraceLine(2557,0,__PYX_ERR(0, 2557, __pyx_L1_error)) __pyx_t_3 = PyNumber_Add(__pyx_kp_s_If_Ani_True_ff_must_return_a_nt, __pyx_kp_s_Pts_is_3_N_Vect_is_provided_and); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_Str, __pyx_t_3); __pyx_t_3 = 0;
+2558: assert type(out) is np.ndarray and out.shape==(NP,), Str
__Pyx_TraceLine(2558,0,__PYX_ERR(0, 2558, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2558, __pyx_L1_error) } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_v_out)) == __pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { } else { __pyx_t_1 = __pyx_t_8; goto __pyx_L39_bool_binop_done; } if (unlikely(!__pyx_v_out)) { __Pyx_RaiseUnboundLocalError("out"); __PYX_ERR(0, 2558, __pyx_L1_error) } __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_shape); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_NP); __Pyx_GIVEREF(__pyx_v_NP); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_NP); __pyx_t_2 = PyObject_RichCompare(__pyx_t_10, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_8; __pyx_L39_bool_binop_done:; if (unlikely(!__pyx_t_1)) { __pyx_t_2 = PyTuple_Pack(1, __pyx_v_Str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 2558, __pyx_L1_error) } } #endif } __pyx_L36:;
+2559: return ani
__Pyx_TraceLine(2559,0,__PYX_ERR(0, 2559, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_ani)); __pyx_r = ((PyObject *)__pyx_v_ani); goto __pyx_L0;
2560:
2561:
2562:
+2563: def integrate1d(y, double dx, t=None, str method='sum'):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_53integrate1d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_52integrate1d[] = " Generic integration method ['sum','simps','romb']\n\n Not used internally\n Useful when the sampling points need to be interpolated via equilibrium\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_53integrate1d = {"integrate1d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_53integrate1d, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_52integrate1d};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_53integrate1d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_y = 0;
double __pyx_v_dx;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_method = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("integrate1d (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_y,&__pyx_n_s_dx,&__pyx_n_s_t,&__pyx_n_s_method,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
values[3] = ((PyObject*)((PyObject*)__pyx_n_s_sum));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("integrate1d", 0, 2, 4, 1); __PYX_ERR(0, 2563, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "integrate1d") < 0)) __PYX_ERR(0, 2563, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_y = values[0];
__pyx_v_dx = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dx == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2563, __pyx_L3_error)
__pyx_v_t = values[2];
__pyx_v_method = ((PyObject*)values[3]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("integrate1d", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2563, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.integrate1d", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method), (&PyString_Type), 1, "method", 1))) __PYX_ERR(0, 2563, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_52integrate1d(__pyx_self, __pyx_v_y, __pyx_v_dx, __pyx_v_t, __pyx_v_method);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_52integrate1d(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_y, double __pyx_v_dx, PyObject *__pyx_v_t, PyObject *__pyx_v_method) {
unsigned int __pyx_v_nt;
unsigned int __pyx_v_axm;
PyObject *__pyx_v_ind = NULL;
PyArrayObject *__pyx_v_s = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_s;
__Pyx_Buffer __pyx_pybuffer_s;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__65)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("integrate1d", 0);
__Pyx_TraceCall("integrate1d", __pyx_f[0], 2563, 0, __PYX_ERR(0, 2563, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_y);
__pyx_pybuffer_s.pybuffer.buf = NULL;
__pyx_pybuffer_s.refcount = 0;
__pyx_pybuffernd_s.data = NULL;
__pyx_pybuffernd_s.rcbuffer = &__pyx_pybuffer_s;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_s.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.integrate1d", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_s.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_ind);
__Pyx_XDECREF((PyObject *)__pyx_v_s);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__144 = PyTuple_Pack(8, __pyx_n_s_y, __pyx_n_s_dx, __pyx_n_s_t, __pyx_n_s_method, __pyx_n_s_nt, __pyx_n_s_axm, __pyx_n_s_ind, __pyx_n_s_s); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 2563, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__144);
__Pyx_GIVEREF(__pyx_tuple__144);
__pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_integrate1d, 2563, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 2563, __pyx_L1_error)
/* … */
__Pyx_TraceLine(2563,0,__PYX_ERR(0, 2563, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_53integrate1d, 0, __pyx_n_s_integrate1d, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2563, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__145);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_integrate1d, __pyx_t_2) < 0) __PYX_ERR(0, 2563, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__145 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject*)__pyx_n_s_sum)); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 2563, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__145);
__Pyx_GIVEREF(__pyx_tuple__145);
2564: """ Generic integration method ['sum','simps','romb']
2565:
2566: Not used internally
2567: Useful when the sampling points need to be interpolated via equilibrium
2568: """
2569: cdef unsigned int nt, axm
+2570: if t is None or not hasattr(t,'__iter__'):
__Pyx_TraceLine(2570,0,__PYX_ERR(0, 2570, __pyx_L1_error)) __pyx_t_2 = (__pyx_v_t == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = __Pyx_HasAttr(__pyx_v_t, __pyx_n_s_iter); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2570, __pyx_L1_error) __pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+2571: nt = 1
__Pyx_TraceLine(2571,0,__PYX_ERR(0, 2571, __pyx_L1_error)) __pyx_v_nt = 1;
+2572: axm = 0
__Pyx_TraceLine(2572,0,__PYX_ERR(0, 2572, __pyx_L1_error)) __pyx_v_axm = 0;
2573: else:
+2574: nt = len(t)
__Pyx_TraceLine(2574,0,__PYX_ERR(0, 2574, __pyx_L1_error)) /*else*/ { __pyx_t_4 = PyObject_Length(__pyx_v_t); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2574, __pyx_L1_error) __pyx_v_nt = __pyx_t_4;
+2575: axm = 1
__Pyx_TraceLine(2575,0,__PYX_ERR(0, 2575, __pyx_L1_error)) __pyx_v_axm = 1; } __pyx_L3:;
+2576: ind = np.isnan(y)
__Pyx_TraceLine(2576,0,__PYX_ERR(0, 2576, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_isnan); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_y) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_y); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_ind = __pyx_t_5; __pyx_t_5 = 0;
+2577: if np.any(ind):
__Pyx_TraceLine(2577,0,__PYX_ERR(0, 2577, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_any); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_ind) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_ind); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_1) { /* … */ }
+2578: y = y.copy()
__Pyx_TraceLine(2578,0,__PYX_ERR(0, 2578, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0;
+2579: y[ind] = 0.
__Pyx_TraceLine(2579,0,__PYX_ERR(0, 2579, __pyx_L1_error)) if (unlikely(PyObject_SetItem(__pyx_v_y, __pyx_v_ind, __pyx_float_0_) < 0)) __PYX_ERR(0, 2579, __pyx_L1_error)
2580:
+2581: cdef cnp.ndarray[double,ndim=1] s = np.empty((nt,),dtype=float)
__Pyx_TraceLine(2581,0,__PYX_ERR(0, 2581, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2581, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2581, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_s = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_s.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2581, __pyx_L1_error) } else {__pyx_pybuffernd_s.diminfo[0].strides = __pyx_pybuffernd_s.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_s.diminfo[0].shape = __pyx_pybuffernd_s.rcbuffer->pybuffer.shape[0]; } } __pyx_t_9 = 0; __pyx_v_s = ((PyArrayObject *)__pyx_t_8); __pyx_t_8 = 0;
2582:
+2583: if method=='sum':
__Pyx_TraceLine(2583,0,__PYX_ERR(0, 2583, __pyx_L1_error)) __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2583, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L7; }
+2584: s = np.sum(y, axis=axm)*dx
__Pyx_TraceLine(2584,0,__PYX_ERR(0, 2584, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_sum); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_y); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_axis, __pyx_t_6) < 0) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2584, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_s.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_v_s, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_11, __pyx_t_12, __pyx_t_13); } __pyx_t_11 = __pyx_t_12 = __pyx_t_13 = 0; } __pyx_pybuffernd_s.diminfo[0].strides = __pyx_pybuffernd_s.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_s.diminfo[0].shape = __pyx_pybuffernd_s.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 2584, __pyx_L1_error) } __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_s, ((PyArrayObject *)__pyx_t_8)); __pyx_t_8 = 0;
+2585: elif method=='simps':
__Pyx_TraceLine(2585,0,__PYX_ERR(0, 2585, __pyx_L1_error)) __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2585, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L7; }
+2586: s = scpintg.simps(y, x=None, dx=dx, axis=axm)
__Pyx_TraceLine(2586,0,__PYX_ERR(0, 2586, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_simps); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_y); __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_x, Py_None) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dx, __pyx_t_7) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2586, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_s.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_v_s, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_11); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_13, __pyx_t_12, __pyx_t_11); } __pyx_t_13 = __pyx_t_12 = __pyx_t_11 = 0; } __pyx_pybuffernd_s.diminfo[0].strides = __pyx_pybuffernd_s.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_s.diminfo[0].shape = __pyx_pybuffernd_s.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 2586, __pyx_L1_error) } __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_s, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2587: elif method=='romb':
__Pyx_TraceLine(2587,0,__PYX_ERR(0, 2587, __pyx_L1_error)) __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_romb, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2587, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (likely(__pyx_t_2)) { /* … */ goto __pyx_L7; }
+2588: s = scpintg.romb(y, dx=dx, axis=axm, show=False)
__Pyx_TraceLine(2588,0,__PYX_ERR(0, 2588, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_romb); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_y); __pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dx, __pyx_t_5) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_axis, __pyx_t_5) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_show, Py_False) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2588, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_s.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_s.rcbuffer->pybuffer, (PyObject*)__pyx_v_s, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_11, __pyx_t_12, __pyx_t_13); } __pyx_t_11 = __pyx_t_12 = __pyx_t_13 = 0; } __pyx_pybuffernd_s.diminfo[0].strides = __pyx_pybuffernd_s.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_s.diminfo[0].shape = __pyx_pybuffernd_s.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 2588, __pyx_L1_error) } __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_s, ((PyArrayObject *)__pyx_t_5)); __pyx_t_5 = 0;
2589: else:
+2590: raise Exception("Arg method must be in ['sum','simps','romb']")
__Pyx_TraceLine(2590,0,__PYX_ERR(0, 2590, __pyx_L1_error)) /*else*/ { __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 2590, __pyx_L1_error) } __pyx_L7:; /* … */ __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_Arg_method_must_be_in_sum_simps); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66);
+2591: return s
__Pyx_TraceLine(2591,0,__PYX_ERR(0, 2591, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_s)); __pyx_r = ((PyObject *)__pyx_v_s); goto __pyx_L0;
2592:
2593:
2594:
2595:
2596: @cython.cdivision(True)
2597: @cython.wraparound(False)
2598: @cython.boundscheck(False)
2599: @cython.initializedcheck(False)
2600: @cython.profile(False)
2601: @cython.linetrace(False)
2602: @cython.binding(False)
+2603: def LOS_calc_signal(ff, double[:,::1] Ds, double[:,::1] us, dL,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_55LOS_calc_signal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_54LOS_calc_signal[] = " Return the sampled line, with the specified method\n\n 'linspace': return the N+1 edges, including the first and last point\n 'sum' : return N segments centers\n 'simps': return N+1 egdes, N even (for scipy.integrate.simps)\n 'romb' : return N+1 edges, N+1 = 2**k+1 (for scipy.integrate.romb)\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_55LOS_calc_signal = {"LOS_calc_signal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_55LOS_calc_signal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_54LOS_calc_signal};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_55LOS_calc_signal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_ff = 0;
__Pyx_memviewslice __pyx_v_Ds = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_us = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_dL = 0;
__Pyx_memviewslice __pyx_v_DLs = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_Ani = 0;
PyObject *__pyx_v_fkwdargs = 0;
PyObject *__pyx_v_dLMode = 0;
PyObject *__pyx_v_method = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_calc_signal (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ff,&__pyx_n_s_Ds,&__pyx_n_s_us,&__pyx_n_s_dL,&__pyx_n_s_DLs,&__pyx_n_s_t,&__pyx_n_s_Ani,&__pyx_n_s_fkwdargs,&__pyx_n_s_dLMode,&__pyx_n_s_method,&__pyx_n_s_Test,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_54LOS_calc_signal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ff, __Pyx_memviewslice __pyx_v_Ds, __Pyx_memviewslice __pyx_v_us, PyObject *__pyx_v_dL, __Pyx_memviewslice __pyx_v_DLs, PyObject *__pyx_v_t, PyObject *__pyx_v_Ani, PyObject *__pyx_v_fkwdargs, PyObject *__pyx_v_dLMode, PyObject *__pyx_v_method, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_C0 = NULL;
PyObject *__pyx_v_C1 = NULL;
PyBoolObject *__pyx_v_ani = 0;
unsigned int __pyx_v_nt;
unsigned int __pyx_v_axm;
unsigned int __pyx_v_ii;
unsigned int __pyx_v_jj;
unsigned int __pyx_v_N;
unsigned int __pyx_v_ND;
double __pyx_v_kkk;
double __pyx_v_D0;
double __pyx_v_D1;
double __pyx_v_D2;
double __pyx_v_u0;
double __pyx_v_u1;
double __pyx_v_u2;
double __pyx_v_dl0;
double __pyx_v_dl;
PyArrayObject *__pyx_v_pts = 0;
PyArrayObject *__pyx_v_sig = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_pts;
__Pyx_Buffer __pyx_pybuffer_pts;
__Pyx_LocalBuf_ND __pyx_pybuffernd_sig;
__Pyx_Buffer __pyx_pybuffer_sig;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_calc_signal", 0);
__Pyx_INCREF(__pyx_v_dLMode);
__Pyx_INCREF(__pyx_v_method);
__pyx_pybuffer_pts.pybuffer.buf = NULL;
__pyx_pybuffer_pts.refcount = 0;
__pyx_pybuffernd_pts.data = NULL;
__pyx_pybuffernd_pts.rcbuffer = &__pyx_pybuffer_pts;
__pyx_pybuffer_sig.pybuffer.buf = NULL;
__pyx_pybuffer_sig.refcount = 0;
__pyx_pybuffernd_sig.data = NULL;
__pyx_pybuffernd_sig.rcbuffer = &__pyx_pybuffer_sig;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sig.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.LOS_calc_signal", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sig.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_C0);
__Pyx_XDECREF(__pyx_v_C1);
__Pyx_XDECREF((PyObject *)__pyx_v_ani);
__Pyx_XDECREF((PyObject *)__pyx_v_pts);
__Pyx_XDECREF((PyObject *)__pyx_v_sig);
__PYX_XDEC_MEMVIEW(&__pyx_v_Ds, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_us, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_DLs, 1);
__Pyx_XDECREF(__pyx_v_dLMode);
__Pyx_XDECREF(__pyx_v_method);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__146 = PyTuple_Pack(31, __pyx_n_s_ff, __pyx_n_s_Ds, __pyx_n_s_us, __pyx_n_s_dL, __pyx_n_s_DLs, __pyx_n_s_t, __pyx_n_s_Ani, __pyx_n_s_fkwdargs, __pyx_n_s_dLMode, __pyx_n_s_method, __pyx_n_s_Test, __pyx_n_s_C0, __pyx_n_s_C1, __pyx_n_s_ani, __pyx_n_s_nt, __pyx_n_s_axm, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_N, __pyx_n_s_ND, __pyx_n_s_kkk, __pyx_n_s_D0, __pyx_n_s_D1, __pyx_n_s_D2, __pyx_n_s_u0, __pyx_n_s_u1, __pyx_n_s_u2, __pyx_n_s_dl0, __pyx_n_s_dl, __pyx_n_s_pts, __pyx_n_s_sig); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 2603, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__146);
__Pyx_GIVEREF(__pyx_tuple__146);
/* … */
__pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_55LOS_calc_signal, NULL, __pyx_n_s_tofu_geom__GG03); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2603, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOS_calc_signal, __pyx_t_2) < 0) __PYX_ERR(0, 2603, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(11, 0, 31, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_LOS_calc_signal, 2603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(0, 2603, __pyx_L1_error)
+2604: double[:,::1] DLs, t=None, Ani=None, dict fkwdargs={},
values[5] = ((PyObject *)Py_None);
values[6] = ((PyObject *)Py_None);
values[7] = __pyx_k__67;
values[8] = ((PyObject*)__pyx_n_s_abs);
values[9] = ((PyObject*)__pyx_n_s_simps);
/* … */
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_k__67 = ((PyObject*)__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
2605: str dLMode='abs', str method='simps',
+2606: Test=True):
values[10] = ((PyObject *)Py_True);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ff)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Ds)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_calc_signal", 0, 5, 11, 1); __PYX_ERR(0, 2603, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_us)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_calc_signal", 0, 5, 11, 2); __PYX_ERR(0, 2603, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dL)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_calc_signal", 0, 5, 11, 3); __PYX_ERR(0, 2603, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_DLs)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_calc_signal", 0, 5, 11, 4); __PYX_ERR(0, 2603, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Ani);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fkwdargs);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dLMode);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[10] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "LOS_calc_signal") < 0)) __PYX_ERR(0, 2603, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_ff = values[0];
__pyx_v_Ds = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_Ds.memview)) __PYX_ERR(0, 2603, __pyx_L3_error)
__pyx_v_us = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_us.memview)) __PYX_ERR(0, 2603, __pyx_L3_error)
__pyx_v_dL = values[3];
__pyx_v_DLs = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_DLs.memview)) __PYX_ERR(0, 2604, __pyx_L3_error)
__pyx_v_t = values[5];
__pyx_v_Ani = values[6];
__pyx_v_fkwdargs = ((PyObject*)values[7]);
__pyx_v_dLMode = ((PyObject*)values[8]);
__pyx_v_method = ((PyObject*)values[9]);
__pyx_v_Test = values[10];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("LOS_calc_signal", 0, 5, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2603, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.LOS_calc_signal", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fkwdargs), (&PyDict_Type), 1, "fkwdargs", 1))) __PYX_ERR(0, 2604, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dLMode), (&PyString_Type), 1, "dLMode", 1))) __PYX_ERR(0, 2605, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method), (&PyString_Type), 1, "method", 1))) __PYX_ERR(0, 2605, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_54LOS_calc_signal(__pyx_self, __pyx_v_ff, __pyx_v_Ds, __pyx_v_us, __pyx_v_dL, __pyx_v_DLs, __pyx_v_t, __pyx_v_Ani, __pyx_v_fkwdargs, __pyx_v_dLMode, __pyx_v_method, __pyx_v_Test);
2607:
2608: """ Return the sampled line, with the specified method
2609:
2610: 'linspace': return the N+1 edges, including the first and last point
2611: 'sum' : return N segments centers
2612: 'simps': return N+1 egdes, N even (for scipy.integrate.simps)
2613: 'romb' : return N+1 edges, N+1 = 2**k+1 (for scipy.integrate.romb)
2614: """
+2615: if Test:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_Test); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2615, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2616: assert Ds.shape[0]==us.shape[0]==3, "Args Ds, us - dim 0"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = ((__pyx_v_Ds.shape[0]) == (__pyx_v_us.shape[0]));
if (__pyx_t_1) {
__pyx_t_1 = ((__pyx_v_us.shape[0]) == 3);
}
if (unlikely(!(__pyx_t_1 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_Ds_us_dim_0);
__PYX_ERR(0, 2616, __pyx_L1_error)
}
}
#endif
+2617: assert DLs.shape[0]==2, "Arg DLs - dim 0"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!(((__pyx_v_DLs.shape[0]) == 2) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_DLs_dim_0);
__PYX_ERR(0, 2617, __pyx_L1_error)
}
}
#endif
+2618: assert Ds.shape[1]==us.shape[1]==DLs.shape[1], "Args Ds, us, DLs 1"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = ((__pyx_v_Ds.shape[1]) == (__pyx_v_us.shape[1]));
if (__pyx_t_1) {
__pyx_t_1 = ((__pyx_v_us.shape[1]) == (__pyx_v_DLs.shape[1]));
}
if (unlikely(!(__pyx_t_1 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Args_Ds_us_DLs_1);
__PYX_ERR(0, 2618, __pyx_L1_error)
}
}
#endif
+2619: C0 = not hasattr(dL,'__iter__') and dL>0.
__pyx_t_1 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2619, __pyx_L1_error) __pyx_t_3 = (!(__pyx_t_1 != 0)); if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = PyObject_RichCompare(__pyx_v_dL, __pyx_float_0_, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L4_bool_binop_done:; __pyx_v_C0 = __pyx_t_2; __pyx_t_2 = 0;
+2620: C1 = hasattr(dL,'__iter__') and len(dL)==Ds.shape[1] and np.all(dL>0.)
__pyx_t_3 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2620, __pyx_L1_error) if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L6_bool_binop_done; } __pyx_t_5 = PyObject_Length(__pyx_v_dL); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2620, __pyx_L1_error) __pyx_t_3 = (__pyx_t_5 == (__pyx_v_Ds.shape[1])); if (__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L6_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_all); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_v_dL, __pyx_float_0_, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2620, __pyx_L1_error) __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L6_bool_binop_done:; __pyx_v_C1 = __pyx_t_2; __pyx_t_2 = 0;
+2621: assert C0 or C1, "Arg dL must be >0. !"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C0); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2621, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L9_bool_binop_done;
}
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_C1); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2621, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L9_bool_binop_done:;
if (unlikely(!__pyx_t_3)) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_dL_must_be_0);
__PYX_ERR(0, 2621, __pyx_L1_error)
}
}
#endif
+2622: assert dLMode.lower() in ['abs','rel'], "Arg dLMode in ['abs','rel']"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_dLMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2622, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_abs, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2622, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L11_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2622, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L11_bool_binop_done:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!(__pyx_t_3 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_dLMode_in_abs_rel);
__PYX_ERR(0, 2622, __pyx_L1_error)
}
}
#endif
+2623: assert method.lower() in ['sum','simps','romb'], "Arg method"
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_2 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2623, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L13_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2623, __pyx_L1_error)
if (!__pyx_t_1) {
} else {
__pyx_t_3 = __pyx_t_1;
goto __pyx_L13_bool_binop_done;
}
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_romb, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2623, __pyx_L1_error)
__pyx_t_3 = __pyx_t_1;
__pyx_L13_bool_binop_done:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!(__pyx_t_3 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Arg_method);
__PYX_ERR(0, 2623, __pyx_L1_error)
}
}
#endif
2624: # Testing function
+2625: cdef bool ani = check_ff(ff,t=t,Ani=Ani)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ff); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_ff); __Pyx_GIVEREF(__pyx_v_ff); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_ff); __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2625, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Ani, __pyx_v_Ani) < 0) __PYX_ERR(0, 2625, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 2625, __pyx_L1_error) __pyx_v_ani = ((PyBoolObject *)__pyx_t_6); __pyx_t_6 = 0;
2626:
+2627: cdef unsigned int nt, axm, ii, jj, N, ND = Ds.shape[1]
__pyx_v_ND = (__pyx_v_Ds.shape[1]);
2628: cdef double kkk, D0, D1, D2, u0, u1, u2, dl0, dl
2629: cdef cnp.ndarray[double,ndim=2] pts
+2630: if t is None or not hasattr(t,'__iter__'):
__pyx_t_1 = (__pyx_v_t == Py_None);
__pyx_t_9 = (__pyx_t_1 != 0);
if (!__pyx_t_9) {
} else {
__pyx_t_3 = __pyx_t_9;
goto __pyx_L17_bool_binop_done;
}
__pyx_t_9 = __Pyx_HasAttr(__pyx_v_t, __pyx_n_s_iter); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 2630, __pyx_L1_error)
__pyx_t_1 = ((!(__pyx_t_9 != 0)) != 0);
__pyx_t_3 = __pyx_t_1;
__pyx_L17_bool_binop_done:;
if (__pyx_t_3) {
/* … */
goto __pyx_L16;
}
+2631: nt = 1
__pyx_v_nt = 1;
+2632: axm = 0
__pyx_v_axm = 0;
2633: else:
+2634: nt = len(t)
/*else*/ {
__pyx_t_5 = PyObject_Length(__pyx_v_t); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2634, __pyx_L1_error)
__pyx_v_nt = __pyx_t_5;
+2635: axm = 1
__pyx_v_axm = 1; } __pyx_L16:;
+2636: cdef cnp.ndarray[double,ndim=2] sig = np.empty((nt,ND),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nt); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ND); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2636, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2636, __pyx_L1_error) __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_sig.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_sig = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_sig.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2636, __pyx_L1_error) } else {__pyx_pybuffernd_sig.diminfo[0].strides = __pyx_pybuffernd_sig.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_sig.diminfo[0].shape = __pyx_pybuffernd_sig.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_sig.diminfo[1].strides = __pyx_pybuffernd_sig.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_sig.diminfo[1].shape = __pyx_pybuffernd_sig.rcbuffer->pybuffer.shape[1]; } } __pyx_t_10 = 0; __pyx_v_sig = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
2637:
+2638: dLMode = dLMode.lower()
__pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_dLMode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_dLMode, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
+2639: method = method.lower()
__pyx_t_6 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_method); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_method, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
2640: # Case with unique dL
+2641: if not hasattr(dL,'__iter__'):
__pyx_t_3 = __Pyx_HasAttr(__pyx_v_dL, __pyx_n_s_iter); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2641, __pyx_L1_error) __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L19; }
+2642: if dLMode=='rel':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_dLMode, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2642, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L20; }
+2643: N = <long>(Cceil(1./dL))
__pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_v_dL, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2643, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_11));
+2644: if method=='sum':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2644, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L21; }
+2645: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2646: dl0 = DLs[0,ii]
__pyx_t_15 = 0;
__pyx_t_16 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_15 * __pyx_v_DLs.strides[0]) )) + __pyx_t_16)) )));
+2647: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_17 = 1;
__pyx_t_18 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_17 * __pyx_v_DLs.strides[0]) )) + __pyx_t_18)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2648: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_19 = 0;
__pyx_t_20 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_19 * __pyx_v_Ds.strides[0]) )) + __pyx_t_20)) )));
__pyx_t_21 = 1;
__pyx_t_22 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_21 * __pyx_v_Ds.strides[0]) )) + __pyx_t_22)) )));
__pyx_t_24 = 2;
__pyx_t_25 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_24 * __pyx_v_Ds.strides[0]) )) + __pyx_t_25)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2649: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_27 = 0;
__pyx_t_28 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_27 * __pyx_v_us.strides[0]) )) + __pyx_t_28)) )));
__pyx_t_29 = 1;
__pyx_t_30 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_29 * __pyx_v_us.strides[0]) )) + __pyx_t_30)) )));
__pyx_t_31 = 2;
__pyx_t_32 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_31 * __pyx_v_us.strides[0]) )) + __pyx_t_32)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2650: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2650, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2650, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2650, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2651: for jj in range(0,N):
__pyx_t_38 = __pyx_v_N;
__pyx_t_39 = __pyx_t_38;
for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
__pyx_v_jj = __pyx_t_40;
+2652: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2653: pts[0,jj] = D0 + kkk*u0
__pyx_t_41 = 0;
__pyx_t_42 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2654: pts[1,jj] = D1 + kkk*u1
__pyx_t_43 = 1;
__pyx_t_44 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_43, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_44, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2655: pts[2,jj] = D2 + kkk*u2
__pyx_t_45 = 2;
__pyx_t_46 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_45, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_46, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2656: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2656, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2657: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_6); __pyx_t_7 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2657, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_2) < 0)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2658: sig[:,ii] = np.sum(ff(pts,t=t,**fkwdargs),axis=axm)*dl
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sum); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2658, __pyx_L1_error) __pyx_t_4 = __pyx_t_7; __pyx_t_7 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2658, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_4, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2658, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_axis, __pyx_t_2) < 0) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_2, __pyx_t_4) < 0)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
2659:
+2660: elif method=='simps':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2660, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+2661: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_47 = __pyx_v_N;
} else {
__pyx_t_47 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_47;
+2662: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2663: dl0 = DLs[0,ii]
__pyx_t_48 = 0;
__pyx_t_49 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_48 * __pyx_v_DLs.strides[0]) )) + __pyx_t_49)) )));
+2664: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_50 = 1;
__pyx_t_51 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_50 * __pyx_v_DLs.strides[0]) )) + __pyx_t_51)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2665: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_52 = 0;
__pyx_t_53 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_52 * __pyx_v_Ds.strides[0]) )) + __pyx_t_53)) )));
__pyx_t_54 = 1;
__pyx_t_55 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_54 * __pyx_v_Ds.strides[0]) )) + __pyx_t_55)) )));
__pyx_t_56 = 2;
__pyx_t_57 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_56 * __pyx_v_Ds.strides[0]) )) + __pyx_t_57)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2666: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_58 = 0;
__pyx_t_59 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_58 * __pyx_v_us.strides[0]) )) + __pyx_t_59)) )));
__pyx_t_60 = 1;
__pyx_t_61 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_60 * __pyx_v_us.strides[0]) )) + __pyx_t_61)) )));
__pyx_t_62 = 2;
__pyx_t_63 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_62 * __pyx_v_us.strides[0]) )) + __pyx_t_63)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2667: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2667, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2667, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2667, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2668: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2669: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2670: pts[0,jj] = D0 + kkk*u0
__pyx_t_65 = 0;
__pyx_t_66 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_65, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_66, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2671: pts[1,jj] = D1 + kkk*u1
__pyx_t_67 = 1;
__pyx_t_68 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_67, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_68, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2672: pts[2,jj] = D2 + kkk*u2
__pyx_t_69 = 2;
__pyx_t_70 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_69, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_70, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2673: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2673, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2674: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2674, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_2) < 0)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2675: sig[:,ii] = scpintg.simps(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_simps); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2675, __pyx_L1_error) __pyx_t_7 = __pyx_t_6; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2675, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2675, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_7, __pyx_t_2) < 0)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2676: x=None,dx=dl,axis=axm)
__pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_x, Py_None) < 0) __PYX_ERR(0, 2676, __pyx_L1_error) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dx, __pyx_t_2) < 0) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_t_2) < 0) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2677:
2678: else:
+2679: N = 2**(<long>(Cceil(Clog2(<double>N))))
/*else*/ {
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2680: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2681: dl0 = DLs[0,ii]
__pyx_t_71 = 0;
__pyx_t_72 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_71 * __pyx_v_DLs.strides[0]) )) + __pyx_t_72)) )));
+2682: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_73 = 1;
__pyx_t_74 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_73 * __pyx_v_DLs.strides[0]) )) + __pyx_t_74)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2683: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_75 = 0;
__pyx_t_76 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_75 * __pyx_v_Ds.strides[0]) )) + __pyx_t_76)) )));
__pyx_t_77 = 1;
__pyx_t_78 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_77 * __pyx_v_Ds.strides[0]) )) + __pyx_t_78)) )));
__pyx_t_79 = 2;
__pyx_t_80 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_79 * __pyx_v_Ds.strides[0]) )) + __pyx_t_80)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2684: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_81 = 0;
__pyx_t_82 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_81 * __pyx_v_us.strides[0]) )) + __pyx_t_82)) )));
__pyx_t_83 = 1;
__pyx_t_84 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_83 * __pyx_v_us.strides[0]) )) + __pyx_t_84)) )));
__pyx_t_85 = 2;
__pyx_t_86 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_85 * __pyx_v_us.strides[0]) )) + __pyx_t_86)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2685: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2685, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2685, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2685, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2686: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2687: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2688: pts[0,jj] = D0 + kkk*u0
__pyx_t_87 = 0;
__pyx_t_88 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_87, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_88, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2689: pts[1,jj] = D1 + kkk*u1
__pyx_t_89 = 1;
__pyx_t_90 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_89, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_90, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2690: pts[2,jj] = D2 + kkk*u2
__pyx_t_91 = 2;
__pyx_t_92 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_91, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_92, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2691: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2691, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2692: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2692, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_7) < 0)) __PYX_ERR(0, 2692, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2693: sig[:,ii] = scpintg.romb(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_romb); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2693, __pyx_L1_error) __pyx_t_6 = __pyx_t_4; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2693, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2693, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __pyx_L21:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2693, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2694: dx=dl,axis=axm,show=False)
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dx, __pyx_t_7) < 0) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_show, Py_False) < 0) __PYX_ERR(0, 2694, __pyx_L1_error)
2695:
2696: else:
+2697: if method=='sum':
/*else*/ {
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2697, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* … */
goto __pyx_L37;
}
+2698: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2699: dl0 = DLs[0,ii]
__pyx_t_93 = 0;
__pyx_t_94 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_93 * __pyx_v_DLs.strides[0]) )) + __pyx_t_94)) )));
2700: # Compute the number of intervals to satisfy the resolution
+2701: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_95 = 1;
__pyx_t_96 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_95 * __pyx_v_DLs.strides[0]) )) + __pyx_t_96)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_v_dL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2701, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2702: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_97 = 1;
__pyx_t_98 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_97 * __pyx_v_DLs.strides[0]) )) + __pyx_t_98)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2703: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_99 = 0;
__pyx_t_100 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_99 * __pyx_v_Ds.strides[0]) )) + __pyx_t_100)) )));
__pyx_t_101 = 1;
__pyx_t_102 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_101 * __pyx_v_Ds.strides[0]) )) + __pyx_t_102)) )));
__pyx_t_103 = 2;
__pyx_t_104 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_103 * __pyx_v_Ds.strides[0]) )) + __pyx_t_104)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2704: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_105 = 0;
__pyx_t_106 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_105 * __pyx_v_us.strides[0]) )) + __pyx_t_106)) )));
__pyx_t_107 = 1;
__pyx_t_108 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_107 * __pyx_v_us.strides[0]) )) + __pyx_t_108)) )));
__pyx_t_109 = 2;
__pyx_t_110 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_109 * __pyx_v_us.strides[0]) )) + __pyx_t_110)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2705: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2705, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2705, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2705, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2706: for jj in range(0,N):
__pyx_t_38 = __pyx_v_N;
__pyx_t_39 = __pyx_t_38;
for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
__pyx_v_jj = __pyx_t_40;
+2707: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2708: pts[0,jj] = D0 + kkk*u0
__pyx_t_111 = 0;
__pyx_t_112 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_111, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_112, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2709: pts[1,jj] = D1 + kkk*u1
__pyx_t_113 = 1;
__pyx_t_114 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_113, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_114, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2710: pts[2,jj] = D2 + kkk*u2
__pyx_t_115 = 2;
__pyx_t_116 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_115, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_116, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2711: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2711, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2712: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2712, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_7) < 0)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2713: sig[:,ii] = np.sum(ff(pts,t=t,**fkwdargs),axis=axm)*dl
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sum); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2713, __pyx_L1_error) __pyx_t_4 = __pyx_t_2; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2713, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_4, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2713, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyNumber_Multiply(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_7, __pyx_t_4) < 0)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
2714:
+2715: elif method=='simps':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2715, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L37; }
+2716: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2717: dl0 = DLs[0,ii]
__pyx_t_117 = 0;
__pyx_t_118 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_117 * __pyx_v_DLs.strides[0]) )) + __pyx_t_118)) )));
2718: # Compute the number of intervals to satisfy the resolution
+2719: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_119 = 1;
__pyx_t_120 = __pyx_v_ii;
__pyx_t_4 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_119 * __pyx_v_DLs.strides[0]) )) + __pyx_t_120)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_v_dL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2719, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2720: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_47 = __pyx_v_N;
} else {
__pyx_t_47 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_47;
+2721: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_121 = 1;
__pyx_t_122 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_121 * __pyx_v_DLs.strides[0]) )) + __pyx_t_122)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2722: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_123 = 0;
__pyx_t_124 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_123 * __pyx_v_Ds.strides[0]) )) + __pyx_t_124)) )));
__pyx_t_125 = 1;
__pyx_t_126 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_125 * __pyx_v_Ds.strides[0]) )) + __pyx_t_126)) )));
__pyx_t_127 = 2;
__pyx_t_128 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_127 * __pyx_v_Ds.strides[0]) )) + __pyx_t_128)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2723: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_129 = 0;
__pyx_t_130 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_129 * __pyx_v_us.strides[0]) )) + __pyx_t_130)) )));
__pyx_t_131 = 1;
__pyx_t_132 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_131 * __pyx_v_us.strides[0]) )) + __pyx_t_132)) )));
__pyx_t_133 = 2;
__pyx_t_134 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_133 * __pyx_v_us.strides[0]) )) + __pyx_t_134)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2724: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2724, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2724, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2724, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2725: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2726: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2727: pts[0,jj] = D0 + kkk*u0
__pyx_t_135 = 0;
__pyx_t_136 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_135, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_136, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2728: pts[1,jj] = D1 + kkk*u1
__pyx_t_137 = 1;
__pyx_t_138 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_137, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_138, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2729: pts[2,jj] = D2 + kkk*u2
__pyx_t_139 = 2;
__pyx_t_140 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_139, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_140, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2730: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2730, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2731: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_7 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2731, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_4) < 0)) __PYX_ERR(0, 2731, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2732: sig[:,ii] = scpintg.simps(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_simps); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2732, __pyx_L1_error) __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2732, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_2, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2732, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_2, __pyx_t_4) < 0)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2732, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2733: x=None,dx=dl,axis=axm)
__pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_x, Py_None) < 0) __PYX_ERR(0, 2733, __pyx_L1_error) __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dx, __pyx_t_4) < 0) __PYX_ERR(0, 2733, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_t_4) < 0) __PYX_ERR(0, 2733, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2734:
2735: else:
+2736: for ii in range(0,ND):
/*else*/ {
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2737: dl0 = DLs[0,ii]
__pyx_t_141 = 0;
__pyx_t_142 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_141 * __pyx_v_DLs.strides[0]) )) + __pyx_t_142)) )));
2738: # Compute the number of intervals to satisfy the resolution
+2739: N = <long>(Cceil((DLs[1,ii]-dl0)/dL))
__pyx_t_143 = 1;
__pyx_t_144 = __pyx_v_ii;
__pyx_t_4 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_143 * __pyx_v_DLs.strides[0]) )) + __pyx_t_144)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_v_dL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2740: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2741: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_145 = 1;
__pyx_t_146 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_145 * __pyx_v_DLs.strides[0]) )) + __pyx_t_146)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2742: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_147 = 0;
__pyx_t_148 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_147 * __pyx_v_Ds.strides[0]) )) + __pyx_t_148)) )));
__pyx_t_149 = 1;
__pyx_t_150 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_149 * __pyx_v_Ds.strides[0]) )) + __pyx_t_150)) )));
__pyx_t_151 = 2;
__pyx_t_152 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_151 * __pyx_v_Ds.strides[0]) )) + __pyx_t_152)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2743: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_153 = 0;
__pyx_t_154 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_153 * __pyx_v_us.strides[0]) )) + __pyx_t_154)) )));
__pyx_t_155 = 1;
__pyx_t_156 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_155 * __pyx_v_us.strides[0]) )) + __pyx_t_156)) )));
__pyx_t_157 = 2;
__pyx_t_158 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_157 * __pyx_v_us.strides[0]) )) + __pyx_t_158)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2744: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2744, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2744, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2744, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_7)); __pyx_t_7 = 0;
+2745: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2746: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2747: pts[0,jj] = D0 + kkk*u0
__pyx_t_159 = 0;
__pyx_t_160 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_159, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_160, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2748: pts[1,jj] = D1 + kkk*u1
__pyx_t_161 = 1;
__pyx_t_162 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_161, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_162, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2749: pts[2,jj] = D2 + kkk*u2
__pyx_t_163 = 2;
__pyx_t_164 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_163, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_164, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2750: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2750, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2751: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2); __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2751, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_4) < 0)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2752: sig[:,ii] = scpintg.romb(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_romb); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2752, __pyx_L1_error) __pyx_t_6 = __pyx_t_7; __pyx_t_7 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2752, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2752, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_6, __pyx_t_4) < 0)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __pyx_L37:; } __pyx_L20:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2752, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2753: dx=dl,axis=axm,show=False)
__pyx_t_7 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dx, __pyx_t_4) < 0) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_axis, __pyx_t_4) < 0) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_show, Py_False) < 0) __PYX_ERR(0, 2753, __pyx_L1_error)
2754:
2755: # Case with different resolution for each LOS
2756: else:
+2757: if dLMode=='rel':
/*else*/ {
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_dLMode, __pyx_n_s_rel, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2757, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* … */
goto __pyx_L53;
}
+2758: if method=='sum':
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2758, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L54; }
+2759: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2760: N = <long>(Cceil(1./dL[ii]))
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_4, 1., 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2760, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_N = ((long)ceil(__pyx_t_11));
+2761: dl0 = DLs[0,ii]
__pyx_t_165 = 0;
__pyx_t_166 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_165 * __pyx_v_DLs.strides[0]) )) + __pyx_t_166)) )));
+2762: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_167 = 1;
__pyx_t_168 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_167 * __pyx_v_DLs.strides[0]) )) + __pyx_t_168)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2763: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_169 = 0;
__pyx_t_170 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_169 * __pyx_v_Ds.strides[0]) )) + __pyx_t_170)) )));
__pyx_t_171 = 1;
__pyx_t_172 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_171 * __pyx_v_Ds.strides[0]) )) + __pyx_t_172)) )));
__pyx_t_173 = 2;
__pyx_t_174 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_173 * __pyx_v_Ds.strides[0]) )) + __pyx_t_174)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2764: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_175 = 0;
__pyx_t_176 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_175 * __pyx_v_us.strides[0]) )) + __pyx_t_176)) )));
__pyx_t_177 = 1;
__pyx_t_178 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_177 * __pyx_v_us.strides[0]) )) + __pyx_t_178)) )));
__pyx_t_179 = 2;
__pyx_t_180 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_179 * __pyx_v_us.strides[0]) )) + __pyx_t_180)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2765: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2765, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2765, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2765, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2766: for jj in range(0,N):
__pyx_t_38 = __pyx_v_N;
__pyx_t_39 = __pyx_t_38;
for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
__pyx_v_jj = __pyx_t_40;
+2767: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2768: pts[0,jj] = D0 + kkk*u0
__pyx_t_181 = 0;
__pyx_t_182 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_181, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_182, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2769: pts[1,jj] = D1 + kkk*u1
__pyx_t_183 = 1;
__pyx_t_184 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_183, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_184, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2770: pts[2,jj] = D2 + kkk*u2
__pyx_t_185 = 2;
__pyx_t_186 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_185, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_186, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2771: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2771, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2772: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6); __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2772, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_4) < 0)) __PYX_ERR(0, 2772, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2773: sig[:,ii] = np.sum(ff(pts,t=t,**fkwdargs),axis=axm)*dl
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sum); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2773, __pyx_L1_error) __pyx_t_7 = __pyx_t_2; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2773, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2773, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_t_4) < 0) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_4, __pyx_t_7) < 0)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2774: elif method=='simps':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2774, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L54; }
+2775: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2776: N = <long>(Cceil(1./dL[ii]))
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_7, 1., 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_N = ((long)ceil(__pyx_t_11));
+2777: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_47 = __pyx_v_N;
} else {
__pyx_t_47 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_47;
+2778: dl0 = DLs[0,ii]
__pyx_t_187 = 0;
__pyx_t_188 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_187 * __pyx_v_DLs.strides[0]) )) + __pyx_t_188)) )));
+2779: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_189 = 1;
__pyx_t_190 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_189 * __pyx_v_DLs.strides[0]) )) + __pyx_t_190)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2780: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_191 = 0;
__pyx_t_192 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_191 * __pyx_v_Ds.strides[0]) )) + __pyx_t_192)) )));
__pyx_t_193 = 1;
__pyx_t_194 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_193 * __pyx_v_Ds.strides[0]) )) + __pyx_t_194)) )));
__pyx_t_195 = 2;
__pyx_t_196 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_195 * __pyx_v_Ds.strides[0]) )) + __pyx_t_196)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2781: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_197 = 0;
__pyx_t_198 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_197 * __pyx_v_us.strides[0]) )) + __pyx_t_198)) )));
__pyx_t_199 = 1;
__pyx_t_200 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_199 * __pyx_v_us.strides[0]) )) + __pyx_t_200)) )));
__pyx_t_201 = 2;
__pyx_t_202 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_201 * __pyx_v_us.strides[0]) )) + __pyx_t_202)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2782: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2782, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2782, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2782, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_6)); __pyx_t_6 = 0;
+2783: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2784: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2785: pts[0,jj] = D0 + kkk*u0
__pyx_t_203 = 0;
__pyx_t_204 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_203, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_204, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2786: pts[1,jj] = D1 + kkk*u1
__pyx_t_205 = 1;
__pyx_t_206 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_205, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_206, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2787: pts[2,jj] = D2 + kkk*u2
__pyx_t_207 = 2;
__pyx_t_208 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_207, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_208, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2788: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2788, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2789: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2789, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_7) < 0)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2790: sig[:,ii] = scpintg.simps(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_simps); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2790, __pyx_L1_error) __pyx_t_2 = __pyx_t_6; __pyx_t_6 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2790, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_2, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2790, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_2, __pyx_t_7) < 0)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2790, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2791: x=None,dx=dl,axis=axm)
__pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_x, Py_None) < 0) __PYX_ERR(0, 2791, __pyx_L1_error) __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dx, __pyx_t_7) < 0) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2792:
2793: else:
+2794: for ii in range(0,ND):
/*else*/ {
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2795: N = <long>(Cceil(1./dL[ii]))
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyFloat_DivideCObj(__pyx_float_1_, __pyx_t_7, 1., 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_N = ((long)ceil(__pyx_t_11));
+2796: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2797: dl0 = DLs[0,ii]
__pyx_t_209 = 0;
__pyx_t_210 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_209 * __pyx_v_DLs.strides[0]) )) + __pyx_t_210)) )));
+2798: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_211 = 1;
__pyx_t_212 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_211 * __pyx_v_DLs.strides[0]) )) + __pyx_t_212)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2799: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_213 = 0;
__pyx_t_214 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_213 * __pyx_v_Ds.strides[0]) )) + __pyx_t_214)) )));
__pyx_t_215 = 1;
__pyx_t_216 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_215 * __pyx_v_Ds.strides[0]) )) + __pyx_t_216)) )));
__pyx_t_217 = 2;
__pyx_t_218 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_217 * __pyx_v_Ds.strides[0]) )) + __pyx_t_218)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2800: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_219 = 0;
__pyx_t_220 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_219 * __pyx_v_us.strides[0]) )) + __pyx_t_220)) )));
__pyx_t_221 = 1;
__pyx_t_222 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_221 * __pyx_v_us.strides[0]) )) + __pyx_t_222)) )));
__pyx_t_223 = 2;
__pyx_t_224 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_223 * __pyx_v_us.strides[0]) )) + __pyx_t_224)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2801: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2801, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2801, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2801, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2802: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2803: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2804: pts[0,jj] = D0 + kkk*u0
__pyx_t_225 = 0;
__pyx_t_226 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_225, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_226, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2805: pts[1,jj] = D1 + kkk*u1
__pyx_t_227 = 1;
__pyx_t_228 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_227, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_228, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2806: pts[2,jj] = D2 + kkk*u2
__pyx_t_229 = 2;
__pyx_t_230 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_229, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_230, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2807: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2807, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2808: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2808, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_7) < 0)) __PYX_ERR(0, 2808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2809: sig[:,ii] = scpintg.romb(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_romb); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2809, __pyx_L1_error) __pyx_t_6 = __pyx_t_4; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2809, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2809, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __pyx_L54:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2810: dx=dl,axis=axm,show=False)
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dx, __pyx_t_7) < 0) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_show, Py_False) < 0) __PYX_ERR(0, 2810, __pyx_L1_error)
2811:
2812: else:
+2813: if method=='sum':
/*else*/ {
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_sum, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2813, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
/* … */
goto __pyx_L70;
}
+2814: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2815: dl0 = DLs[0,ii]
__pyx_t_231 = 0;
__pyx_t_232 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_231 * __pyx_v_DLs.strides[0]) )) + __pyx_t_232)) )));
2816: # Compute the number of intervals to satisfy the resolution
+2817: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_233 = 1;
__pyx_t_234 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_233 * __pyx_v_DLs.strides[0]) )) + __pyx_t_234)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2817, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2818: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_235 = 1;
__pyx_t_236 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_235 * __pyx_v_DLs.strides[0]) )) + __pyx_t_236)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2819: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_237 = 0;
__pyx_t_238 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_237 * __pyx_v_Ds.strides[0]) )) + __pyx_t_238)) )));
__pyx_t_239 = 1;
__pyx_t_240 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_239 * __pyx_v_Ds.strides[0]) )) + __pyx_t_240)) )));
__pyx_t_241 = 2;
__pyx_t_242 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_241 * __pyx_v_Ds.strides[0]) )) + __pyx_t_242)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2820: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_243 = 0;
__pyx_t_244 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_243 * __pyx_v_us.strides[0]) )) + __pyx_t_244)) )));
__pyx_t_245 = 1;
__pyx_t_246 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_245 * __pyx_v_us.strides[0]) )) + __pyx_t_246)) )));
__pyx_t_247 = 2;
__pyx_t_248 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_247 * __pyx_v_us.strides[0]) )) + __pyx_t_248)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2821: pts = np.empty((3,N),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2821, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2821, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2821, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2822: for jj in range(0,N):
__pyx_t_38 = __pyx_v_N;
__pyx_t_39 = __pyx_t_38;
for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
__pyx_v_jj = __pyx_t_40;
+2823: kkk = dl0 + (0.5+<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + ((0.5 + ((double)__pyx_v_jj)) * __pyx_v_dl));
+2824: pts[0,jj] = D0 + kkk*u0
__pyx_t_249 = 0;
__pyx_t_250 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_249, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_250, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2825: pts[1,jj] = D1 + kkk*u1
__pyx_t_251 = 1;
__pyx_t_252 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_251, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_252, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2826: pts[2,jj] = D2 + kkk*u2
__pyx_t_253 = 2;
__pyx_t_254 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_253, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_254, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2827: if ani:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2827, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2828: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2828, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_6) < 0)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+2829: sig[:,ii] = np.sum(ff(pts,t=t,**fkwdargs),axis=axm)*dl
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2829, __pyx_L1_error) __pyx_t_7 = __pyx_t_2; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2829, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2829, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_t_6) < 0) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2829, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
2830:
+2831: elif method=='simps':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_method, __pyx_n_s_simps, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2831, __pyx_L1_error) __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L70; }
+2832: for ii in range(0,ND):
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2833: dl0 = DLs[0,ii]
__pyx_t_255 = 0;
__pyx_t_256 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_255 * __pyx_v_DLs.strides[0]) )) + __pyx_t_256)) )));
2834: # Compute the number of intervals to satisfy the resolution
+2835: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_257 = 1;
__pyx_t_258 = __pyx_v_ii;
__pyx_t_7 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_257 * __pyx_v_DLs.strides[0]) )) + __pyx_t_258)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2835, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2835, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2835, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2835, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2836: N = N if N%2==0 else N+1
if ((((__pyx_v_N % 2) == 0) != 0)) {
__pyx_t_47 = __pyx_v_N;
} else {
__pyx_t_47 = (__pyx_v_N + 1);
}
__pyx_v_N = __pyx_t_47;
+2837: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_259 = 1;
__pyx_t_260 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_259 * __pyx_v_DLs.strides[0]) )) + __pyx_t_260)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2838: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_261 = 0;
__pyx_t_262 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_261 * __pyx_v_Ds.strides[0]) )) + __pyx_t_262)) )));
__pyx_t_263 = 1;
__pyx_t_264 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_263 * __pyx_v_Ds.strides[0]) )) + __pyx_t_264)) )));
__pyx_t_265 = 2;
__pyx_t_266 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_265 * __pyx_v_Ds.strides[0]) )) + __pyx_t_266)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2839: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_267 = 0;
__pyx_t_268 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_267 * __pyx_v_us.strides[0]) )) + __pyx_t_268)) )));
__pyx_t_269 = 1;
__pyx_t_270 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_269 * __pyx_v_us.strides[0]) )) + __pyx_t_270)) )));
__pyx_t_271 = 2;
__pyx_t_272 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_271 * __pyx_v_us.strides[0]) )) + __pyx_t_272)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2840: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2840, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2840, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_35); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_37); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __pyx_t_35 = __pyx_t_36 = __pyx_t_37 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2840, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_4)); __pyx_t_4 = 0;
+2841: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2842: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2843: pts[0,jj] = D0 + kkk*u0
__pyx_t_273 = 0;
__pyx_t_274 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_273, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_274, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2844: pts[1,jj] = D1 + kkk*u1
__pyx_t_275 = 1;
__pyx_t_276 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_275, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_276, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2845: pts[2,jj] = D2 + kkk*u2
__pyx_t_277 = 2;
__pyx_t_278 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_277, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_278, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2846: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2846, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2847: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2847, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_6) < 0)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+2848: sig[:,ii] = scpintg.simps(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_simps); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2848, __pyx_L1_error) __pyx_t_7 = __pyx_t_4; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2848, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2848, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_7, __pyx_t_6) < 0)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2848, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2849: x=None,dx=dl,axis=axm)
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_x, Py_None) < 0) __PYX_ERR(0, 2849, __pyx_L1_error) __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dx, __pyx_t_6) < 0) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_t_6) < 0) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2850:
2851: else:
+2852: for ii in range(0,ND):
/*else*/ {
__pyx_t_12 = __pyx_v_ND;
__pyx_t_13 = __pyx_t_12;
for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
__pyx_v_ii = __pyx_t_14;
+2853: dl0 = DLs[0,ii]
__pyx_t_279 = 0;
__pyx_t_280 = __pyx_v_ii;
__pyx_v_dl0 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_279 * __pyx_v_DLs.strides[0]) )) + __pyx_t_280)) )));
2854: # Compute the number of intervals to satisfy the resolution
+2855: N = <long>(Cceil((DLs[1,ii]-dl0)/dL[ii]))
__pyx_t_281 = 1;
__pyx_t_282 = __pyx_v_ii;
__pyx_t_6 = PyFloat_FromDouble(((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_281 * __pyx_v_DLs.strides[0]) )) + __pyx_t_282)) ))) - __pyx_v_dl0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2855, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_dL, __pyx_v_ii, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2855, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2855, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2855, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_N = ((long)ceil(__pyx_t_11));
+2856: N = 2**(<long>(Cceil(Clog2(<double>N))))
__pyx_v_N = __Pyx_pow_long(2, ((long)ceil(log2(((double)__pyx_v_N)))));
+2857: dl = (DLs[1,ii]-dl0)/<double>N
__pyx_t_283 = 1;
__pyx_t_284 = __pyx_v_ii;
__pyx_v_dl = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_DLs.data + __pyx_t_283 * __pyx_v_DLs.strides[0]) )) + __pyx_t_284)) ))) - __pyx_v_dl0) / ((double)__pyx_v_N));
+2858: D0, D1, D2 = Ds[0,ii], Ds[1,ii], Ds[2,ii]
__pyx_t_285 = 0;
__pyx_t_286 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_285 * __pyx_v_Ds.strides[0]) )) + __pyx_t_286)) )));
__pyx_t_287 = 1;
__pyx_t_288 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_287 * __pyx_v_Ds.strides[0]) )) + __pyx_t_288)) )));
__pyx_t_289 = 2;
__pyx_t_290 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_Ds.data + __pyx_t_289 * __pyx_v_Ds.strides[0]) )) + __pyx_t_290)) )));
__pyx_v_D0 = __pyx_t_11;
__pyx_v_D1 = __pyx_t_23;
__pyx_v_D2 = __pyx_t_26;
+2859: u0, u1, u2 = us[0,ii], us[1,ii], us[2,ii]
__pyx_t_291 = 0;
__pyx_t_292 = __pyx_v_ii;
__pyx_t_26 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_291 * __pyx_v_us.strides[0]) )) + __pyx_t_292)) )));
__pyx_t_293 = 1;
__pyx_t_294 = __pyx_v_ii;
__pyx_t_23 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_293 * __pyx_v_us.strides[0]) )) + __pyx_t_294)) )));
__pyx_t_295 = 2;
__pyx_t_296 = __pyx_v_ii;
__pyx_t_11 = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_us.data + __pyx_t_295 * __pyx_v_us.strides[0]) )) + __pyx_t_296)) )));
__pyx_v_u0 = __pyx_t_26;
__pyx_v_u1 = __pyx_t_23;
__pyx_v_u2 = __pyx_t_11;
+2860: pts = np.empty((3,N+1),dtype=float)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long((__pyx_v_N + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 2860, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2860, __pyx_L1_error) __pyx_t_33 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pts.rcbuffer->pybuffer); __pyx_t_34 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack); if (unlikely(__pyx_t_34 < 0)) { PyErr_Fetch(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pts.rcbuffer->pybuffer, (PyObject*)__pyx_v_pts, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_37); Py_XDECREF(__pyx_t_36); Py_XDECREF(__pyx_t_35); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __pyx_t_37 = __pyx_t_36 = __pyx_t_35 = 0; } __pyx_pybuffernd_pts.diminfo[0].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pts.diminfo[0].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_pts.diminfo[1].strides = __pyx_pybuffernd_pts.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_pts.diminfo[1].shape = __pyx_pybuffernd_pts.rcbuffer->pybuffer.shape[1]; if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 2860, __pyx_L1_error) } __pyx_t_33 = 0; __Pyx_XDECREF_SET(__pyx_v_pts, ((PyArrayObject *)__pyx_t_2)); __pyx_t_2 = 0;
+2861: for jj in range(0,N+1):
__pyx_t_47 = (__pyx_v_N + 1);
__pyx_t_64 = __pyx_t_47;
for (__pyx_t_38 = 0; __pyx_t_38 < __pyx_t_64; __pyx_t_38+=1) {
__pyx_v_jj = __pyx_t_38;
+2862: kkk = dl0 + (<double>jj)*dl
__pyx_v_kkk = (__pyx_v_dl0 + (((double)__pyx_v_jj) * __pyx_v_dl));
+2863: pts[0,jj] = D0 + kkk*u0
__pyx_t_297 = 0;
__pyx_t_298 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_297, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_298, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D0 + (__pyx_v_kkk * __pyx_v_u0));
+2864: pts[1,jj] = D1 + kkk*u1
__pyx_t_299 = 1;
__pyx_t_300 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_299, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_300, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D1 + (__pyx_v_kkk * __pyx_v_u1));
+2865: pts[2,jj] = D2 + kkk*u2
__pyx_t_301 = 2;
__pyx_t_302 = __pyx_v_jj;
*__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_pts.rcbuffer->pybuffer.buf, __pyx_t_301, __pyx_pybuffernd_pts.diminfo[0].strides, __pyx_t_302, __pyx_pybuffernd_pts.diminfo[1].strides) = (__pyx_v_D2 + (__pyx_v_kkk * __pyx_v_u2));
}
+2866: if ani:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ani)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2866, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2867: fkwdargs['Vect'] = (-u0,-u1,-u2)
__pyx_t_2 = PyFloat_FromDouble((-__pyx_v_u0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyFloat_FromDouble((-__pyx_v_u1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_u2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2867, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_fkwdargs, __pyx_n_s_Vect, __pyx_t_7) < 0)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2868: sig[:,ii] = scpintg.romb(ff(pts,t=t,**fkwdargs),
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_scpintg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_romb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_pts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_pts)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_pts)); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_t, __pyx_v_t) < 0) __PYX_ERR(0, 2868, __pyx_L1_error) __pyx_t_6 = __pyx_t_2; __pyx_t_2 = 0; if (unlikely(__pyx_v_fkwdargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 2868, __pyx_L1_error) } if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_fkwdargs) < 0) __PYX_ERR(0, 2868, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_ff, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sig), __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __pyx_L70:; } __pyx_L53:; } __pyx_L19:; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 2868, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+2869: dx=dl,axis=axm,show=False)
__pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_dl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dx, __pyx_t_7) < 0) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_axm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_t_7) < 0) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_show, Py_False) < 0) __PYX_ERR(0, 2869, __pyx_L1_error)
2870:
+2871: if nt==1:
__pyx_t_1 = ((__pyx_v_nt == 1) != 0);
if (__pyx_t_1) {
/* … */
}
+2872: return sig.ravel()
__Pyx_XDECREF(__pyx_r); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_sig), __pyx_n_s_ravel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_7 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L0;
2873: else:
+2874: return sig
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(((PyObject *)__pyx_v_sig));
__pyx_r = ((PyObject *)__pyx_v_sig);
goto __pyx_L0;
}
2875:
2876:
2877:
2878:
2879:
2880:
2881:
2882:
2883: ######################################################################
2884: # Sinogram-specific
2885: ######################################################################
2886:
2887:
+2888: cdef LOS_sino_findRootkPMin_Tor(double uParN, double uN, double Sca, double RZ0, double RZ1, double ScaP, double DParN, double kOut, double D0, double D1, double D2, double u0, double u1, double u2, str Mode='LOS'):
static PyObject *__pyx_f_4tofu_4geom_5_GG03_LOS_sino_findRootkPMin_Tor(double __pyx_v_uParN, double __pyx_v_uN, double __pyx_v_Sca, double __pyx_v_RZ0, double __pyx_v_RZ1, double __pyx_v_ScaP, double __pyx_v_DParN, double __pyx_v_kOut, double __pyx_v_D0, double __pyx_v_D1, double __pyx_v_D2, double __pyx_v_u0, double __pyx_v_u1, double __pyx_v_u2, struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_findRootkPMin_Tor *__pyx_optional_args) {
PyObject *__pyx_v_Mode = ((PyObject*)__pyx_n_s_LOS);
double __pyx_v_a4;
double __pyx_v_a3;
double __pyx_v_a2;
double __pyx_v_a1;
double __pyx_v_a0;
PyArrayObject *__pyx_v_roo = 0;
PyObject *__pyx_v_KK = 0;
PyObject *__pyx_v_Pk = 0;
PyObject *__pyx_v_Pk2D = 0;
PyObject *__pyx_v_rk = 0;
double __pyx_v_kk;
double __pyx_v_kPMin;
PyObject *__pyx_v_pp = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_sino_findRootkPMin_Tor", 0);
__Pyx_TraceCall("LOS_sino_findRootkPMin_Tor", __pyx_f[0], 2888, 0, __PYX_ERR(0, 2888, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_Mode = __pyx_optional_args->Mode;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("tofu.geom._GG03.LOS_sino_findRootkPMin_Tor", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_roo);
__Pyx_XDECREF(__pyx_v_KK);
__Pyx_XDECREF(__pyx_v_Pk);
__Pyx_XDECREF(__pyx_v_Pk2D);
__Pyx_XDECREF(__pyx_v_rk);
__Pyx_XDECREF(__pyx_v_pp);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_findRootkPMin_Tor {
int __pyx_n;
PyObject *Mode;
};
+2889: cdef double a4 = (uParN*uN*uN)**2, a3 = 2*( (Sca-RZ1*u2)*(uParN*uN)**2 + ScaP*uN**4 )
__Pyx_TraceLine(2889,0,__PYX_ERR(0, 2889, __pyx_L1_error)) __pyx_v_a4 = pow(((__pyx_v_uParN * __pyx_v_uN) * __pyx_v_uN), 2.0); __pyx_v_a3 = (2.0 * (((__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2)) * pow((__pyx_v_uParN * __pyx_v_uN), 2.0)) + (__pyx_v_ScaP * pow(__pyx_v_uN, 4.0))));
+2890: cdef double a2 = (uParN*(Sca-RZ1*u2))**2 + 4.*ScaP*(Sca-RZ1*u2)*uN**2 + (DParN*uN*uN)**2 - (RZ0*uParN*uParN)**2
__Pyx_TraceLine(2890,0,__PYX_ERR(0, 2890, __pyx_L1_error)) __pyx_v_a2 = (((pow((__pyx_v_uParN * (__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2))), 2.0) + (((4. * __pyx_v_ScaP) * (__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2))) * pow(__pyx_v_uN, 2.0))) + pow(((__pyx_v_DParN * __pyx_v_uN) * __pyx_v_uN), 2.0)) - pow(((__pyx_v_RZ0 * __pyx_v_uParN) * __pyx_v_uParN), 2.0));
+2891: cdef double a1 = 2*( ScaP*(Sca-RZ1*u2)**2 + (Sca-RZ1*u2)*(DParN*uN)**2 - ScaP*(RZ0*uParN)**2 )
__Pyx_TraceLine(2891,0,__PYX_ERR(0, 2891, __pyx_L1_error)) __pyx_v_a1 = (2.0 * (((__pyx_v_ScaP * pow((__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2)), 2.0)) + ((__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2)) * pow((__pyx_v_DParN * __pyx_v_uN), 2.0))) - (__pyx_v_ScaP * pow((__pyx_v_RZ0 * __pyx_v_uParN), 2.0))));
+2892: cdef double a0 = ((Sca-RZ1*u2)*DParN)**2 - (RZ0*ScaP)**2
__Pyx_TraceLine(2892,0,__PYX_ERR(0, 2892, __pyx_L1_error)) __pyx_v_a0 = (pow(((__pyx_v_Sca - (__pyx_v_RZ1 * __pyx_v_u2)) * __pyx_v_DParN), 2.0) - pow((__pyx_v_RZ0 * __pyx_v_ScaP), 2.0));
+2893: cdef cnp.ndarray roo = np.roots(np.array([a4,a3,a2,a1,a0]))
__Pyx_TraceLine(2893,0,__PYX_ERR(0, 2893, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_roots); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_a4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_a3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_a2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_a1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_a0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyList_New(5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_10, 3, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_10, 4, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2893, __pyx_L1_error) __pyx_v_roo = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2894: cdef list KK = list(np.real(roo[np.isreal(roo)])) # There might be several solutions
__Pyx_TraceLine(2894,0,__PYX_ERR(0, 2894, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_real); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isreal); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, ((PyObject *)__pyx_v_roo)) : __Pyx_PyObject_CallOneArg(__pyx_t_10, ((PyObject *)__pyx_v_roo)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_roo), __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_KK = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
2895: cdef list Pk, Pk2D, rk
2896: cdef double kk, kPMin
+2897: if Mode=='LOS': # Take solution on physical LOS
__Pyx_TraceLine(2897,0,__PYX_ERR(0, 2897, __pyx_L1_error)) __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_v_Mode, __pyx_n_s_LOS, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2897, __pyx_L1_error) __pyx_t_12 = (__pyx_t_11 != 0); if (__pyx_t_12) { /* … */ goto __pyx_L3; }
+2898: if any([kk>=0 and kk<=kOut for kk in KK]):
__Pyx_TraceLine(2898,0,__PYX_ERR(0, 2898, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_KK; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2898, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kk = __pyx_t_14; __pyx_t_12 = (__pyx_v_kk >= 0.0); if (__pyx_t_12) { } else { __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L7_bool_binop_done; } __pyx_t_12 = (__pyx_v_kk <= __pyx_v_kOut); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __pyx_t_3; __pyx_t_3 = 0; __pyx_L7_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_any, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 2898, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { /* … */ goto __pyx_L4; }
+2899: KK = [kk for kk in KK if kk>=0 and kk<=kOut]
__Pyx_TraceLine(2899,0,__PYX_ERR(0, 2899, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_KK; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2899, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2899, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kk = __pyx_t_14; __pyx_t_11 = ((__pyx_v_kk >= 0.0) != 0); if (__pyx_t_11) { } else { __pyx_t_12 = __pyx_t_11; goto __pyx_L12_bool_binop_done; } __pyx_t_11 = ((__pyx_v_kk <= __pyx_v_kOut) != 0); __pyx_t_12 = __pyx_t_11; __pyx_L12_bool_binop_done:; if (__pyx_t_12) { __pyx_t_10 = PyFloat_FromDouble(__pyx_v_kk); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2899, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_KK, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+2900: Pk = [(D0+kk*u0,D1+kk*u1,D2+kk*u2) for kk in KK]
__Pyx_TraceLine(2900,0,__PYX_ERR(0, 2900, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_KK; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2900, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kk = __pyx_t_14; __pyx_t_10 = PyFloat_FromDouble((__pyx_v_D0 + (__pyx_v_kk * __pyx_v_u0))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = PyFloat_FromDouble((__pyx_v_D1 + (__pyx_v_kk * __pyx_v_u1))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble((__pyx_v_D2 + (__pyx_v_kk * __pyx_v_u2))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5); __pyx_t_10 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 2900, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Pk = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+2901: Pk2D = [(Csqrt(pp[0]**2+pp[1]**2), pp[2]) for pp in Pk]
__Pyx_TraceLine(2901,0,__PYX_ERR(0, 2901, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_Pk; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_9); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2901, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyFloat_FromDouble(sqrt(__pyx_t_14)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pp, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_9 = 0; __pyx_t_3 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 2901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Pk2D = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+2902: rk = [(pp[0]-RZ0)**2+(pp[1]-RZ1)**2 for pp in Pk2D]
__Pyx_TraceLine(2902,0,__PYX_ERR(0, 2902, __pyx_L1_error)) __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_Pk2D; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2902, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_pp, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_RZ0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_RZ1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = PyNumber_Subtract(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Power(__pyx_t_10, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2902, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_rk = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+2903: kPMin = KK[rk.index(min(rk))]
__Pyx_TraceLine(2903,0,__PYX_ERR(0, 2903, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_rk); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyList_Type_index, __pyx_v_rk, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_KK, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2903, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_kPMin = __pyx_t_14;
2904: else:
+2905: kPMin = min([Cabs(kk) for kk in KK]) # Else, take the one closest to D
__Pyx_TraceLine(2905,0,__PYX_ERR(0, 2905, __pyx_L1_error)) /*else*/ { __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_KK; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2905, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kk = __pyx_t_14; __pyx_t_10 = PyFloat_FromDouble(fabs(__pyx_v_kk)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kPMin = __pyx_t_14; } __pyx_L4:;
2906: else:
+2907: Pk = [(D0+kk*u0,D1+kk*u1,D2+kk*u2) for kk in KK]
__Pyx_TraceLine(2907,0,__PYX_ERR(0, 2907, __pyx_L1_error)) /*else*/ { __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_KK; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2907, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_kk = __pyx_t_14; __pyx_t_10 = PyFloat_FromDouble((__pyx_v_D0 + (__pyx_v_kk * __pyx_v_u0))); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = PyFloat_FromDouble((__pyx_v_D1 + (__pyx_v_kk * __pyx_v_u1))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble((__pyx_v_D2 + (__pyx_v_kk * __pyx_v_u2))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_3); __pyx_t_10 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 2907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Pk = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+2908: Pk2D = [(Csqrt(pp[0]**2+pp[1]**2), pp[2]) for pp in Pk]
__Pyx_TraceLine(2908,0,__PYX_ERR(0, 2908, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_Pk; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_9); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2908, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyFloat_FromDouble(sqrt(__pyx_t_14)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_pp, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_9 = 0; __pyx_t_5 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Pk2D = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+2909: rk = [(pp[0]-RZ0)**2+(pp[1]-RZ1)**2 for pp in Pk2D]
__Pyx_TraceLine(2909,0,__PYX_ERR(0, 2909, __pyx_L1_error)) __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_Pk2D; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; for (;;) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_3); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2909, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_pp, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pp, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_RZ0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Power(__pyx_t_9, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_pp, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_RZ1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyNumber_Subtract(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(__pyx_t_10, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rk = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+2910: kPMin = KK[rk.index(min(rk))]
__Pyx_TraceLine(2910,0,__PYX_ERR(0, 2910, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_rk); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyList_Type_index, __pyx_v_rk, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_KK, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_kPMin = __pyx_t_14; } __pyx_L3:;
+2911: return kPMin
__Pyx_TraceLine(2911,0,__PYX_ERR(0, 2911, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_kPMin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
2912:
2913:
2914:
+2915: cdef LOS_sino_Tor(double D0, double D1, double D2, double u0, double u1, double u2, double RZ0, double RZ1, str Mode='LOS', double kOut=np.inf):
static PyObject *__pyx_f_4tofu_4geom_5_GG03_LOS_sino_Tor(double __pyx_v_D0, double __pyx_v_D1, double __pyx_v_D2, double __pyx_v_u0, double __pyx_v_u1, double __pyx_v_u2, double __pyx_v_RZ0, double __pyx_v_RZ1, struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_Tor *__pyx_optional_args) {
PyObject *__pyx_v_Mode = ((PyObject*)__pyx_n_s_LOS);
double __pyx_v_kOut = __pyx_k__68;
double __pyx_v_uN;
double __pyx_v_uParN;
double __pyx_v_DParN;
double __pyx_v_Sca;
double __pyx_v_ScaP;
double __pyx_v_kPMin;
double __pyx_v_PMin0;
double __pyx_v_PMin1;
double __pyx_v_PMin2;
double __pyx_v_PMin2norm;
double __pyx_v_PMin2D0;
double __pyx_v_PMin2D1;
double __pyx_v_RMin;
double __pyx_v_eTheta0;
double __pyx_v_eTheta1;
double __pyx_v_eTheta2;
double __pyx_v_vP0;
double __pyx_v_vP1;
double __pyx_v_Theta;
double __pyx_v_ImpTheta;
double __pyx_v_er2D0;
double __pyx_v_er2D1;
double __pyx_v_p;
double __pyx_v_uN0;
double __pyx_v_uN1;
double __pyx_v_uN2;
double __pyx_v_phi;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_sino_Tor", 0);
__Pyx_TraceCall("LOS_sino_Tor", __pyx_f[0], 2915, 0, __PYX_ERR(0, 2915, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_Mode = __pyx_optional_args->Mode;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_kOut = __pyx_optional_args->kOut;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("tofu.geom._GG03.LOS_sino_Tor", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_TraceLine(2915,0,__PYX_ERR(0, 2915, __pyx_L1_error))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2915, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_inf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2915, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2915, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_k__68 = __pyx_t_5;
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_Tor {
int __pyx_n;
PyObject *Mode;
double kOut;
};
+2916: cdef double uN = Csqrt(u0**2+u1**2+u2**2), uParN = Csqrt(u0**2+u1**2), DParN = Csqrt(D0**2+D1**2)
__Pyx_TraceLine(2916,0,__PYX_ERR(0, 2916, __pyx_L1_error)) __pyx_v_uN = sqrt(((pow(__pyx_v_u0, 2.0) + pow(__pyx_v_u1, 2.0)) + pow(__pyx_v_u2, 2.0))); __pyx_v_uParN = sqrt((pow(__pyx_v_u0, 2.0) + pow(__pyx_v_u1, 2.0))); __pyx_v_DParN = sqrt((pow(__pyx_v_D0, 2.0) + pow(__pyx_v_D1, 2.0)));
+2917: cdef double Sca = u0*D0+u1*D1+u2*D2, ScaP = u0*D0+u1*D1
__Pyx_TraceLine(2917,0,__PYX_ERR(0, 2917, __pyx_L1_error)) __pyx_v_Sca = (((__pyx_v_u0 * __pyx_v_D0) + (__pyx_v_u1 * __pyx_v_D1)) + (__pyx_v_u2 * __pyx_v_D2)); __pyx_v_ScaP = ((__pyx_v_u0 * __pyx_v_D0) + (__pyx_v_u1 * __pyx_v_D1));
2918: cdef double kPMin
+2919: if uParN == 0.:
__Pyx_TraceLine(2919,0,__PYX_ERR(0, 2919, __pyx_L1_error)) __pyx_t_1 = ((__pyx_v_uParN == 0.) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+2920: kPMin = (RZ1-D2)/u2
__Pyx_TraceLine(2920,0,__PYX_ERR(0, 2920, __pyx_L1_error)) __pyx_t_2 = (__pyx_v_RZ1 - __pyx_v_D2); if (unlikely(__pyx_v_u2 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2920, __pyx_L1_error) } __pyx_v_kPMin = (__pyx_t_2 / __pyx_v_u2);
2921: else:
+2922: kPMin = LOS_sino_findRootkPMin_Tor(uParN, uN, Sca, RZ0, RZ1, ScaP, DParN, kOut, D0, D1, D2, u0, u1, u2, Mode=Mode)
__Pyx_TraceLine(2922,0,__PYX_ERR(0, 2922, __pyx_L1_error)) /*else*/ { __pyx_t_4.__pyx_n = 1; __pyx_t_4.Mode = __pyx_v_Mode; __pyx_t_3 = __pyx_f_4tofu_4geom_5_GG03_LOS_sino_findRootkPMin_Tor(__pyx_v_uParN, __pyx_v_uN, __pyx_v_Sca, __pyx_v_RZ0, __pyx_v_RZ1, __pyx_v_ScaP, __pyx_v_DParN, __pyx_v_kOut, __pyx_v_D0, __pyx_v_D1, __pyx_v_D2, __pyx_v_u0, __pyx_v_u1, __pyx_v_u2, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_kPMin = __pyx_t_2; } __pyx_L3:;
+2923: cdef double PMin0 = D0+kPMin*u0, PMin1 = D1+kPMin*u1, PMin2 = D2+kPMin*u2
__Pyx_TraceLine(2923,0,__PYX_ERR(0, 2923, __pyx_L1_error)) __pyx_v_PMin0 = (__pyx_v_D0 + (__pyx_v_kPMin * __pyx_v_u0)); __pyx_v_PMin1 = (__pyx_v_D1 + (__pyx_v_kPMin * __pyx_v_u1)); __pyx_v_PMin2 = (__pyx_v_D2 + (__pyx_v_kPMin * __pyx_v_u2));
+2924: cdef double PMin2norm = Csqrt(PMin0**2+PMin1**2)
__Pyx_TraceLine(2924,0,__PYX_ERR(0, 2924, __pyx_L1_error)) __pyx_v_PMin2norm = sqrt((pow(__pyx_v_PMin0, 2.0) + pow(__pyx_v_PMin1, 2.0)));
+2925: cdef double PMin2D0 = PMin2norm, PMin2D1 = PMin2
__Pyx_TraceLine(2925,0,__PYX_ERR(0, 2925, __pyx_L1_error)) __pyx_v_PMin2D0 = __pyx_v_PMin2norm; __pyx_v_PMin2D1 = __pyx_v_PMin2;
+2926: cdef double RMin = Csqrt((PMin2D0-RZ0)**2+(PMin2D1-RZ1)**2)
__Pyx_TraceLine(2926,0,__PYX_ERR(0, 2926, __pyx_L1_error)) __pyx_v_RMin = sqrt((pow((__pyx_v_PMin2D0 - __pyx_v_RZ0), 2.0) + pow((__pyx_v_PMin2D1 - __pyx_v_RZ1), 2.0)));
+2927: cdef double eTheta0 = -PMin1/PMin2norm, eTheta1 = PMin0/PMin2norm, eTheta2 = 0.
__Pyx_TraceLine(2927,0,__PYX_ERR(0, 2927, __pyx_L1_error)) __pyx_t_2 = (-__pyx_v_PMin1); if (unlikely(__pyx_v_PMin2norm == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2927, __pyx_L1_error) } __pyx_v_eTheta0 = (__pyx_t_2 / __pyx_v_PMin2norm); if (unlikely(__pyx_v_PMin2norm == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2927, __pyx_L1_error) } __pyx_v_eTheta1 = (__pyx_v_PMin0 / __pyx_v_PMin2norm); __pyx_v_eTheta2 = 0.;
+2928: cdef double vP0 = PMin2D0-RZ0, vP1 = PMin2D1-RZ1
__Pyx_TraceLine(2928,0,__PYX_ERR(0, 2928, __pyx_L1_error)) __pyx_v_vP0 = (__pyx_v_PMin2D0 - __pyx_v_RZ0); __pyx_v_vP1 = (__pyx_v_PMin2D1 - __pyx_v_RZ1);
+2929: cdef double Theta = Catan2(vP1,vP0)
__Pyx_TraceLine(2929,0,__PYX_ERR(0, 2929, __pyx_L1_error)) __pyx_v_Theta = atan2(__pyx_v_vP1, __pyx_v_vP0);
+2930: cdef double ImpTheta = Theta if Theta>=0 else Theta + np.pi
__Pyx_TraceLine(2930,0,__PYX_ERR(0, 2930, __pyx_L1_error)) if (((__pyx_v_Theta >= 0.0) != 0)) { __pyx_t_2 = __pyx_v_Theta; } else { __pyx_t_3 = PyFloat_FromDouble(__pyx_v_Theta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pi); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2930, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __pyx_t_7; } __pyx_v_ImpTheta = __pyx_t_2;
+2931: cdef double er2D0 = Ccos(ImpTheta), er2D1 = Csin(ImpTheta)
__Pyx_TraceLine(2931,0,__PYX_ERR(0, 2931, __pyx_L1_error)) __pyx_v_er2D0 = cos(__pyx_v_ImpTheta); __pyx_v_er2D1 = sin(__pyx_v_ImpTheta);
+2932: cdef double p = vP0*er2D0 + vP1*er2D1
__Pyx_TraceLine(2932,0,__PYX_ERR(0, 2932, __pyx_L1_error)) __pyx_v_p = ((__pyx_v_vP0 * __pyx_v_er2D0) + (__pyx_v_vP1 * __pyx_v_er2D1));
+2933: cdef double uN0 = u0/uN, uN1 = u1/uN, uN2 = u2/uN
__Pyx_TraceLine(2933,0,__PYX_ERR(0, 2933, __pyx_L1_error)) if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2933, __pyx_L1_error) } __pyx_v_uN0 = (__pyx_v_u0 / __pyx_v_uN); if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2933, __pyx_L1_error) } __pyx_v_uN1 = (__pyx_v_u1 / __pyx_v_uN); if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2933, __pyx_L1_error) } __pyx_v_uN2 = (__pyx_v_u2 / __pyx_v_uN);
+2934: cdef double phi = Casin(-uN0*eTheta0 -uN1*eTheta1 -uN2*eTheta2)
__Pyx_TraceLine(2934,0,__PYX_ERR(0, 2934, __pyx_L1_error)) __pyx_v_phi = asin(((((-__pyx_v_uN0) * __pyx_v_eTheta0) - (__pyx_v_uN1 * __pyx_v_eTheta1)) - (__pyx_v_uN2 * __pyx_v_eTheta2)));
+2935: return (PMin0,PMin1,PMin2), kPMin, RMin, Theta, p, ImpTheta, phi
__Pyx_TraceLine(2935,0,__PYX_ERR(0, 2935, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_PMin0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_PMin1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_PMin2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_kPMin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_RMin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_Theta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyFloat_FromDouble(__pyx_v_ImpTheta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyFloat_FromDouble(__pyx_v_phi); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyTuple_New(7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_12, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 4, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 5, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 6, __pyx_t_11); __pyx_t_8 = 0; __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_r = __pyx_t_12; __pyx_t_12 = 0; goto __pyx_L0;
2936:
2937:
2938:
+2939: cdef LOS_sino_Lin(double D0, double D1, double D2, double u0, double u1, double u2, double RZ0, double RZ1, str Mode='LOS', double kOut=np.inf):
static PyObject *__pyx_f_4tofu_4geom_5_GG03_LOS_sino_Lin(double __pyx_v_D0, double __pyx_v_D1, double __pyx_v_D2, double __pyx_v_u0, double __pyx_v_u1, double __pyx_v_u2, double __pyx_v_RZ0, double __pyx_v_RZ1, struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_Lin *__pyx_optional_args) {
PyObject *__pyx_v_Mode = ((PyObject*)__pyx_n_s_LOS);
double __pyx_v_kOut = __pyx_k__69;
double __pyx_v_kPMin;
double __pyx_v_PMin0;
double __pyx_v_PMin1;
double __pyx_v_PMin2;
double __pyx_v_RMin;
double __pyx_v_vP0;
double __pyx_v_vP1;
double __pyx_v_Theta;
double __pyx_v_ImpTheta;
double __pyx_v_er2D0;
double __pyx_v_er2D1;
double __pyx_v_p;
double __pyx_v_uN;
double __pyx_v_uN0;
double __pyx_v_uN1;
double __pyx_v_uN2;
double __pyx_v_phi;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_sino_Lin", 0);
__Pyx_TraceCall("LOS_sino_Lin", __pyx_f[0], 2939, 0, __PYX_ERR(0, 2939, __pyx_L1_error));
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_Mode = __pyx_optional_args->Mode;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_kOut = __pyx_optional_args->kOut;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("tofu.geom._GG03.LOS_sino_Lin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_TraceLine(2939,0,__PYX_ERR(0, 2939, __pyx_L1_error))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_inf); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2939, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_k__69 = __pyx_t_5;
/* … */
struct __pyx_opt_args_4tofu_4geom_5_GG03_LOS_sino_Lin {
int __pyx_n;
PyObject *Mode;
double kOut;
};
2940: cdef double kPMin
+2941: if u0**2==1.:
__Pyx_TraceLine(2941,0,__PYX_ERR(0, 2941, __pyx_L1_error)) __pyx_t_1 = ((pow(__pyx_v_u0, 2.0) == 1.) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+2942: kPMin = 0.
__Pyx_TraceLine(2942,0,__PYX_ERR(0, 2942, __pyx_L1_error)) __pyx_v_kPMin = 0.;
2943: else:
+2944: kPMin = ( (RZ0-D1)*u1+(RZ1-D2)*u2 ) / (1-u0**2)
__Pyx_TraceLine(2944,0,__PYX_ERR(0, 2944, __pyx_L1_error)) /*else*/ { __pyx_t_2 = (((__pyx_v_RZ0 - __pyx_v_D1) * __pyx_v_u1) + ((__pyx_v_RZ1 - __pyx_v_D2) * __pyx_v_u2)); __pyx_t_3 = (1.0 - pow(__pyx_v_u0, 2.0)); if (unlikely(__pyx_t_3 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2944, __pyx_L1_error) } __pyx_v_kPMin = (__pyx_t_2 / __pyx_t_3); } __pyx_L3:;
+2945: kPMin = kOut if Mode=='LOS' and kPMin > kOut else kPMin
__Pyx_TraceLine(2945,0,__PYX_ERR(0, 2945, __pyx_L1_error)) __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_Mode, __pyx_n_s_LOS, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 2945, __pyx_L1_error) __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { } else { __pyx_t_1 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_5 = ((__pyx_v_kPMin > __pyx_v_kOut) != 0); __pyx_t_1 = __pyx_t_5; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __pyx_t_3 = __pyx_v_kOut; } else { __pyx_t_3 = __pyx_v_kPMin; } __pyx_v_kPMin = __pyx_t_3;
+2946: cdef double PMin0 = D0+kPMin*u0, PMin1 = D1+kPMin*u1, PMin2 = D2+kPMin*u2
__Pyx_TraceLine(2946,0,__PYX_ERR(0, 2946, __pyx_L1_error)) __pyx_v_PMin0 = (__pyx_v_D0 + (__pyx_v_kPMin * __pyx_v_u0)); __pyx_v_PMin1 = (__pyx_v_D1 + (__pyx_v_kPMin * __pyx_v_u1)); __pyx_v_PMin2 = (__pyx_v_D2 + (__pyx_v_kPMin * __pyx_v_u2));
+2947: cdef double RMin = Csqrt((PMin1-RZ0)**2+(PMin2-RZ1)**2)
__Pyx_TraceLine(2947,0,__PYX_ERR(0, 2947, __pyx_L1_error)) __pyx_v_RMin = sqrt((pow((__pyx_v_PMin1 - __pyx_v_RZ0), 2.0) + pow((__pyx_v_PMin2 - __pyx_v_RZ1), 2.0)));
+2948: cdef double vP0 = PMin1-RZ0, vP1 = PMin2-RZ1
__Pyx_TraceLine(2948,0,__PYX_ERR(0, 2948, __pyx_L1_error)) __pyx_v_vP0 = (__pyx_v_PMin1 - __pyx_v_RZ0); __pyx_v_vP1 = (__pyx_v_PMin2 - __pyx_v_RZ1);
+2949: cdef double Theta = Catan2(vP1,vP0)
__Pyx_TraceLine(2949,0,__PYX_ERR(0, 2949, __pyx_L1_error)) __pyx_v_Theta = atan2(__pyx_v_vP1, __pyx_v_vP0);
+2950: cdef double ImpTheta = Theta if Theta>=0 else Theta + np.pi
__Pyx_TraceLine(2950,0,__PYX_ERR(0, 2950, __pyx_L1_error)) if (((__pyx_v_Theta >= 0.0) != 0)) { __pyx_t_3 = __pyx_v_Theta; } else { __pyx_t_6 = PyFloat_FromDouble(__pyx_v_Theta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_pi); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_3 = __pyx_t_2; } __pyx_v_ImpTheta = __pyx_t_3;
+2951: cdef double er2D0 = Ccos(ImpTheta), er2D1 = Csin(ImpTheta)
__Pyx_TraceLine(2951,0,__PYX_ERR(0, 2951, __pyx_L1_error)) __pyx_v_er2D0 = cos(__pyx_v_ImpTheta); __pyx_v_er2D1 = sin(__pyx_v_ImpTheta);
+2952: cdef double p = vP0*er2D0 + vP1*er2D1
__Pyx_TraceLine(2952,0,__PYX_ERR(0, 2952, __pyx_L1_error)) __pyx_v_p = ((__pyx_v_vP0 * __pyx_v_er2D0) + (__pyx_v_vP1 * __pyx_v_er2D1));
+2953: cdef double uN = Csqrt(u0**2+u1**2+u2**2)
__Pyx_TraceLine(2953,0,__PYX_ERR(0, 2953, __pyx_L1_error)) __pyx_v_uN = sqrt(((pow(__pyx_v_u0, 2.0) + pow(__pyx_v_u1, 2.0)) + pow(__pyx_v_u2, 2.0)));
+2954: cdef double uN0 = u0/uN, uN1 = u1/uN, uN2 = u2/uN
__Pyx_TraceLine(2954,0,__PYX_ERR(0, 2954, __pyx_L1_error)) if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2954, __pyx_L1_error) } __pyx_v_uN0 = (__pyx_v_u0 / __pyx_v_uN); if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2954, __pyx_L1_error) } __pyx_v_uN1 = (__pyx_v_u1 / __pyx_v_uN); if (unlikely(__pyx_v_uN == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 2954, __pyx_L1_error) } __pyx_v_uN2 = (__pyx_v_u2 / __pyx_v_uN);
+2955: cdef double phi = Catan2(uN0, Csqrt(uN1**2+uN2**2))
__Pyx_TraceLine(2955,0,__PYX_ERR(0, 2955, __pyx_L1_error)) __pyx_v_phi = atan2(__pyx_v_uN0, sqrt((pow(__pyx_v_uN1, 2.0) + pow(__pyx_v_uN2, 2.0))));
+2956: return (PMin0,PMin1,PMin2), kPMin, RMin, Theta, p, ImpTheta, phi
__Pyx_TraceLine(2956,0,__PYX_ERR(0, 2956, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_PMin0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_PMin1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_PMin2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_6); __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_6 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_v_kPMin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_RMin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_Theta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyFloat_FromDouble(__pyx_v_ImpTheta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyFloat_FromDouble(__pyx_v_phi); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyTuple_New(7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 3, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 4, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 5, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 6, __pyx_t_12); __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_r = __pyx_t_13; __pyx_t_13 = 0; goto __pyx_L0;
2957:
2958:
+2959: def LOS_sino(double[:,::1] D, double[:,::1] u, double[::1] RZ, double[::1] kOut, str Mode='LOS', str VType='Tor'):
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_57LOS_sino(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_57LOS_sino = {"LOS_sino", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_57LOS_sino, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_57LOS_sino(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
__Pyx_memviewslice __pyx_v_D = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_u = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_RZ = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_kOut = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_Mode = 0;
PyObject *__pyx_v_VType = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_sino (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_D,&__pyx_n_s_u,&__pyx_n_s_RZ,&__pyx_n_s_kOut,&__pyx_n_s_Mode,&__pyx_n_s_VType,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[4] = ((PyObject*)((PyObject*)__pyx_n_s_LOS));
values[5] = ((PyObject*)((PyObject*)__pyx_n_s_Tor));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_D)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_sino", 0, 4, 6, 1); __PYX_ERR(0, 2959, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_RZ)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_sino", 0, 4, 6, 2); __PYX_ERR(0, 2959, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kOut)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("LOS_sino", 0, 4, 6, 3); __PYX_ERR(0, 2959, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Mode);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VType);
if (value) { values[5] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "LOS_sino") < 0)) __PYX_ERR(0, 2959, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_D = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_D.memview)) __PYX_ERR(0, 2959, __pyx_L3_error)
__pyx_v_u = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_u.memview)) __PYX_ERR(0, 2959, __pyx_L3_error)
__pyx_v_RZ = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_RZ.memview)) __PYX_ERR(0, 2959, __pyx_L3_error)
__pyx_v_kOut = __Pyx_PyObject_to_MemoryviewSlice_dc_double(values[3], PyBUF_WRITABLE); if (unlikely(!__pyx_v_kOut.memview)) __PYX_ERR(0, 2959, __pyx_L3_error)
__pyx_v_Mode = ((PyObject*)values[4]);
__pyx_v_VType = ((PyObject*)values[5]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("LOS_sino", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2959, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.LOS_sino", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Mode), (&PyString_Type), 1, "Mode", 1))) __PYX_ERR(0, 2959, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_VType), (&PyString_Type), 1, "VType", 1))) __PYX_ERR(0, 2959, __pyx_L1_error)
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_56LOS_sino(__pyx_self, __pyx_v_D, __pyx_v_u, __pyx_v_RZ, __pyx_v_kOut, __pyx_v_Mode, __pyx_v_VType);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_56LOS_sino(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_D, __Pyx_memviewslice __pyx_v_u, __Pyx_memviewslice __pyx_v_RZ, __Pyx_memviewslice __pyx_v_kOut, PyObject *__pyx_v_Mode, PyObject *__pyx_v_VType) {
unsigned int __pyx_v_nL;
unsigned int __pyx_v_ii;
PyObject *__pyx_v_out = 0;
PyArrayObject *__pyx_v_PMin = 0;
PyArrayObject *__pyx_v_kPMin = 0;
PyArrayObject *__pyx_v_RMin = 0;
PyArrayObject *__pyx_v_Theta = 0;
PyArrayObject *__pyx_v_p = 0;
PyArrayObject *__pyx_v_ImpTheta = 0;
PyArrayObject *__pyx_v_phi = 0;
__Pyx_LocalBuf_ND __pyx_pybuffernd_ImpTheta;
__Pyx_Buffer __pyx_pybuffer_ImpTheta;
__Pyx_LocalBuf_ND __pyx_pybuffernd_PMin;
__Pyx_Buffer __pyx_pybuffer_PMin;
__Pyx_LocalBuf_ND __pyx_pybuffernd_RMin;
__Pyx_Buffer __pyx_pybuffer_RMin;
__Pyx_LocalBuf_ND __pyx_pybuffernd_Theta;
__Pyx_Buffer __pyx_pybuffer_Theta;
__Pyx_LocalBuf_ND __pyx_pybuffernd_kPMin;
__Pyx_Buffer __pyx_pybuffer_kPMin;
__Pyx_LocalBuf_ND __pyx_pybuffernd_p;
__Pyx_Buffer __pyx_pybuffer_p;
__Pyx_LocalBuf_ND __pyx_pybuffernd_phi;
__Pyx_Buffer __pyx_pybuffer_phi;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__70)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("LOS_sino", 0);
__Pyx_TraceCall("LOS_sino", __pyx_f[0], 2959, 0, __PYX_ERR(0, 2959, __pyx_L1_error));
__pyx_pybuffer_PMin.pybuffer.buf = NULL;
__pyx_pybuffer_PMin.refcount = 0;
__pyx_pybuffernd_PMin.data = NULL;
__pyx_pybuffernd_PMin.rcbuffer = &__pyx_pybuffer_PMin;
__pyx_pybuffer_kPMin.pybuffer.buf = NULL;
__pyx_pybuffer_kPMin.refcount = 0;
__pyx_pybuffernd_kPMin.data = NULL;
__pyx_pybuffernd_kPMin.rcbuffer = &__pyx_pybuffer_kPMin;
__pyx_pybuffer_RMin.pybuffer.buf = NULL;
__pyx_pybuffer_RMin.refcount = 0;
__pyx_pybuffernd_RMin.data = NULL;
__pyx_pybuffernd_RMin.rcbuffer = &__pyx_pybuffer_RMin;
__pyx_pybuffer_Theta.pybuffer.buf = NULL;
__pyx_pybuffer_Theta.refcount = 0;
__pyx_pybuffernd_Theta.data = NULL;
__pyx_pybuffernd_Theta.rcbuffer = &__pyx_pybuffer_Theta;
__pyx_pybuffer_p.pybuffer.buf = NULL;
__pyx_pybuffer_p.refcount = 0;
__pyx_pybuffernd_p.data = NULL;
__pyx_pybuffernd_p.rcbuffer = &__pyx_pybuffer_p;
__pyx_pybuffer_ImpTheta.pybuffer.buf = NULL;
__pyx_pybuffer_ImpTheta.refcount = 0;
__pyx_pybuffernd_ImpTheta.data = NULL;
__pyx_pybuffernd_ImpTheta.rcbuffer = &__pyx_pybuffer_ImpTheta;
__pyx_pybuffer_phi.pybuffer.buf = NULL;
__pyx_pybuffer_phi.refcount = 0;
__pyx_pybuffernd_phi.data = NULL;
__pyx_pybuffernd_phi.rcbuffer = &__pyx_pybuffer_phi;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_30);
__Pyx_XDECREF(__pyx_t_31);
__Pyx_XDECREF(__pyx_t_32);
__Pyx_XDECREF(__pyx_t_39);
__Pyx_XDECREF(__pyx_t_40);
__Pyx_XDECREF(__pyx_t_41);
__Pyx_XDECREF(__pyx_t_42);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_RMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Theta.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kPMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_p.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_phi.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.LOS_sino", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_PMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_RMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_Theta.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_kPMin.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_p.rcbuffer->pybuffer);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_phi.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_out);
__Pyx_XDECREF((PyObject *)__pyx_v_PMin);
__Pyx_XDECREF((PyObject *)__pyx_v_kPMin);
__Pyx_XDECREF((PyObject *)__pyx_v_RMin);
__Pyx_XDECREF((PyObject *)__pyx_v_Theta);
__Pyx_XDECREF((PyObject *)__pyx_v_p);
__Pyx_XDECREF((PyObject *)__pyx_v_ImpTheta);
__Pyx_XDECREF((PyObject *)__pyx_v_phi);
__PYX_XDEC_MEMVIEW(&__pyx_v_D, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_u, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_RZ, 1);
__PYX_XDEC_MEMVIEW(&__pyx_v_kOut, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__148 = PyTuple_Pack(16, __pyx_n_s_D, __pyx_n_s_u, __pyx_n_s_RZ, __pyx_n_s_kOut, __pyx_n_s_Mode, __pyx_n_s_VType, __pyx_n_s_nL, __pyx_n_s_ii, __pyx_n_s_out, __pyx_n_s_PMin, __pyx_n_s_kPMin, __pyx_n_s_RMin, __pyx_n_s_Theta, __pyx_n_s_p, __pyx_n_s_ImpTheta, __pyx_n_s_phi); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 2959, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__148);
__Pyx_GIVEREF(__pyx_tuple__148);
__pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(6, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_LOS_sino, 2959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 2959, __pyx_L1_error)
/* … */
__Pyx_TraceLine(2959,0,__PYX_ERR(0, 2959, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_57LOS_sino, 0, __pyx_n_s_LOS_sino, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2959, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__149);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOS_sino, __pyx_t_2) < 0) __PYX_ERR(0, 2959, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__149 = PyTuple_Pack(2, ((PyObject*)__pyx_n_s_LOS), ((PyObject*)__pyx_n_s_Tor)); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 2959, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__149);
__Pyx_GIVEREF(__pyx_tuple__149);
+2960: cdef unsigned int nL = D.shape[1], ii
__Pyx_TraceLine(2960,0,__PYX_ERR(0, 2960, __pyx_L1_error)) __pyx_v_nL = (__pyx_v_D.shape[1]);
2961: cdef tuple out
+2962: cdef cnp.ndarray[double,ndim=2] PMin = np.empty((3,nL))
__Pyx_TraceLine(2962,0,__PYX_ERR(0, 2962, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2962, __pyx_L1_error) __pyx_t_5 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_PMin.rcbuffer->pybuffer, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_PMin = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2962, __pyx_L1_error) } else {__pyx_pybuffernd_PMin.diminfo[0].strides = __pyx_pybuffernd_PMin.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_PMin.diminfo[0].shape = __pyx_pybuffernd_PMin.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_PMin.diminfo[1].strides = __pyx_pybuffernd_PMin.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_PMin.diminfo[1].shape = __pyx_pybuffernd_PMin.rcbuffer->pybuffer.shape[1]; } } __pyx_t_5 = 0; __pyx_v_PMin = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2963: cdef cnp.ndarray[double,ndim=1] kPMin=np.empty((nL,)), RMin=np.empty((nL,))
__Pyx_TraceLine(2963,0,__PYX_ERR(0, 2963, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2963, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_kPMin.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_kPMin = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_kPMin.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2963, __pyx_L1_error) } else {__pyx_pybuffernd_kPMin.diminfo[0].strides = __pyx_pybuffernd_kPMin.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_kPMin.diminfo[0].shape = __pyx_pybuffernd_kPMin.rcbuffer->pybuffer.shape[0]; } } __pyx_t_6 = 0; __pyx_v_kPMin = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2963, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_RMin.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_RMin = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_RMin.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2963, __pyx_L1_error) } else {__pyx_pybuffernd_RMin.diminfo[0].strides = __pyx_pybuffernd_RMin.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_RMin.diminfo[0].shape = __pyx_pybuffernd_RMin.rcbuffer->pybuffer.shape[0]; } } __pyx_t_6 = 0; __pyx_v_RMin = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2964: cdef cnp.ndarray[double,ndim=1] Theta=np.empty((nL,)), p=np.empty((nL,))
__Pyx_TraceLine(2964,0,__PYX_ERR(0, 2964, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2964, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_Theta.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_Theta = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_Theta.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2964, __pyx_L1_error) } else {__pyx_pybuffernd_Theta.diminfo[0].strides = __pyx_pybuffernd_Theta.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_Theta.diminfo[0].shape = __pyx_pybuffernd_Theta.rcbuffer->pybuffer.shape[0]; } } __pyx_t_7 = 0; __pyx_v_Theta = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2964, __pyx_L1_error) __pyx_t_7 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_p.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_p = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_p.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2964, __pyx_L1_error) } else {__pyx_pybuffernd_p.diminfo[0].strides = __pyx_pybuffernd_p.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_p.diminfo[0].shape = __pyx_pybuffernd_p.rcbuffer->pybuffer.shape[0]; } } __pyx_t_7 = 0; __pyx_v_p = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2965: cdef cnp.ndarray[double,ndim=1] ImpTheta=np.empty((nL,)), phi=np.empty((nL,))
__Pyx_TraceLine(2965,0,__PYX_ERR(0, 2965, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2965, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_ImpTheta = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2965, __pyx_L1_error) } else {__pyx_pybuffernd_ImpTheta.diminfo[0].strides = __pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ImpTheta.diminfo[0].shape = __pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer.shape[0]; } } __pyx_t_8 = 0; __pyx_v_ImpTheta = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2965, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_phi.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_phi = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_phi.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 2965, __pyx_L1_error) } else {__pyx_pybuffernd_phi.diminfo[0].strides = __pyx_pybuffernd_phi.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_phi.diminfo[0].shape = __pyx_pybuffernd_phi.rcbuffer->pybuffer.shape[0]; } } __pyx_t_8 = 0; __pyx_v_phi = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2966: if VType.lower()=='tor':
__Pyx_TraceLine(2966,0,__PYX_ERR(0, 2966, __pyx_L1_error)) __pyx_t_1 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyString_Type_lower, __pyx_v_VType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_tor, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L3; }
+2967: for ii in range(0,nL):
__Pyx_TraceLine(2967,0,__PYX_ERR(0, 2967, __pyx_L1_error)) __pyx_t_10 = __pyx_v_nL; __pyx_t_11 = __pyx_t_10; for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { __pyx_v_ii = __pyx_t_12;
+2968: out = LOS_sino_Tor(D[0,ii],D[1,ii],D[2,ii],u[0,ii],u[1,ii],u[2,ii],
__Pyx_TraceLine(2968,0,__PYX_ERR(0, 2968, __pyx_L1_error)) __pyx_t_13 = 0; __pyx_t_14 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_13 < 0) { __pyx_t_13 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_13 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_13 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_14 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } __pyx_t_16 = 1; __pyx_t_17 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_16 < 0) { __pyx_t_16 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_16 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_16 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_17 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } __pyx_t_18 = 2; __pyx_t_19 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_18 < 0) { __pyx_t_18 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_18 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_18 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_19 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } __pyx_t_20 = 0; __pyx_t_21 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_20 < 0) { __pyx_t_20 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_20 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_20 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_21 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } __pyx_t_22 = 1; __pyx_t_23 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_22 < 0) { __pyx_t_22 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_22 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_22 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_23 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } __pyx_t_24 = 2; __pyx_t_25 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_24 < 0) { __pyx_t_24 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_24 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_24 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_25 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2968, __pyx_L1_error) } /* … */ __Pyx_TraceLine(2968,0,__PYX_ERR(0, 2968, __pyx_L1_error)) __pyx_t_29.__pyx_n = 2; __pyx_t_29.Mode = __pyx_v_Mode; __pyx_t_29.kOut = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_kOut.data) + __pyx_t_28)) ))); __pyx_t_1 = __pyx_f_4tofu_4geom_5_GG03_LOS_sino_Tor((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_13 * __pyx_v_D.strides[0]) )) + __pyx_t_14)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_16 * __pyx_v_D.strides[0]) )) + __pyx_t_17)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_18 * __pyx_v_D.strides[0]) )) + __pyx_t_19)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_20 * __pyx_v_u.strides[0]) )) + __pyx_t_21)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_22 * __pyx_v_u.strides[0]) )) + __pyx_t_23)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_24 * __pyx_v_u.strides[0]) )) + __pyx_t_25)) ))), (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_RZ.data) + __pyx_t_26)) ))), (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_RZ.data) + __pyx_t_27)) ))), &__pyx_t_29); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_out, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+2969: RZ[0],RZ[1], Mode=Mode, kOut=kOut[ii])
__Pyx_TraceLine(2969,0,__PYX_ERR(0, 2969, __pyx_L1_error)) __pyx_t_26 = 0; __pyx_t_15 = -1; if (__pyx_t_26 < 0) { __pyx_t_26 += __pyx_v_RZ.shape[0]; if (unlikely(__pyx_t_26 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_26 >= __pyx_v_RZ.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2969, __pyx_L1_error) } __pyx_t_27 = 1; __pyx_t_15 = -1; if (__pyx_t_27 < 0) { __pyx_t_27 += __pyx_v_RZ.shape[0]; if (unlikely(__pyx_t_27 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_27 >= __pyx_v_RZ.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2969, __pyx_L1_error) } __pyx_t_28 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_28 >= (size_t)__pyx_v_kOut.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2969, __pyx_L1_error) }
+2970: ((PMin[0,ii],PMin[1,ii],PMin[2,ii]),
__Pyx_TraceLine(2970,0,__PYX_ERR(0, 2970, __pyx_L1_error)) __pyx_t_33 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_33 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_34 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_34 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_35 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_35 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_36 = __pyx_PyFloat_AsDouble(__pyx_t_30); if (unlikely((__pyx_t_36 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0; __pyx_t_37 = __pyx_PyFloat_AsDouble(__pyx_t_31); if (unlikely((__pyx_t_37 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_38 = __pyx_PyFloat_AsDouble(__pyx_t_32); if (unlikely((__pyx_t_38 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2970, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_39 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_40 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_41 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_39 = PyList_GET_ITEM(sequence, 0); __pyx_t_40 = PyList_GET_ITEM(sequence, 1); __pyx_t_41 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_39); __Pyx_INCREF(__pyx_t_40); __Pyx_INCREF(__pyx_t_41); #else __pyx_t_39 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_39); __pyx_t_40 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_42 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_43 = Py_TYPE(__pyx_t_42)->tp_iternext; index = 0; __pyx_t_39 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_39)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_39); index = 1; __pyx_t_40 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_40)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_40); index = 2; __pyx_t_41 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_41)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_41); if (__Pyx_IternextUnpackEndCheck(__pyx_t_43(__pyx_t_42), 3) < 0) __PYX_ERR(0, 2970, __pyx_L1_error) __pyx_t_43 = NULL; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_43 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2970, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_t_44 = __pyx_PyFloat_AsDouble(__pyx_t_39); if (unlikely((__pyx_t_44 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0; __pyx_t_45 = __pyx_PyFloat_AsDouble(__pyx_t_40); if (unlikely((__pyx_t_45 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __pyx_t_46 = __pyx_PyFloat_AsDouble(__pyx_t_41); if (unlikely((__pyx_t_46 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_47 = 0; __pyx_t_48 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_47 < 0) { __pyx_t_47 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_47 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_47 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_48 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2970, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_44; __pyx_t_49 = 1; __pyx_t_50 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_49 < 0) { __pyx_t_49 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_49 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_49 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_50 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2970, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_49, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_50, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_45; __pyx_t_51 = 2; __pyx_t_52 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_51 < 0) { __pyx_t_51 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_51 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_51 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_52 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2970, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_51, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_52, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_46;
+2971: kPMin[ii], RMin[ii], Theta[ii], p[ii], ImpTheta[ii], phi[ii]) = out
__Pyx_TraceLine(2971,0,__PYX_ERR(0, 2971, __pyx_L1_error)) if (likely(__pyx_v_out != Py_None)) { PyObject* sequence = __pyx_v_out; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 7)) { if (size > 7) __Pyx_RaiseTooManyValuesError(7); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2970, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_30 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_31 = PyTuple_GET_ITEM(sequence, 5); __pyx_t_32 = PyTuple_GET_ITEM(sequence, 6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_30); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(__pyx_t_32); #else { Py_ssize_t i; PyObject** temps[7] = {&__pyx_t_1,&__pyx_t_3,&__pyx_t_4,&__pyx_t_2,&__pyx_t_30,&__pyx_t_31,&__pyx_t_32}; for (i=0; i < 7; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 2970, __pyx_L1_error) } /* … */ __Pyx_TraceLine(2971,0,__PYX_ERR(0, 2971, __pyx_L1_error)) __pyx_t_53 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_53 >= (size_t)__pyx_pybuffernd_kPMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kPMin.rcbuffer->pybuffer.buf, __pyx_t_53, __pyx_pybuffernd_kPMin.diminfo[0].strides) = __pyx_t_33; __pyx_t_54 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_54 >= (size_t)__pyx_pybuffernd_RMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_RMin.rcbuffer->pybuffer.buf, __pyx_t_54, __pyx_pybuffernd_RMin.diminfo[0].strides) = __pyx_t_34; __pyx_t_55 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_55 >= (size_t)__pyx_pybuffernd_Theta.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Theta.rcbuffer->pybuffer.buf, __pyx_t_55, __pyx_pybuffernd_Theta.diminfo[0].strides) = __pyx_t_35; __pyx_t_56 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_56 >= (size_t)__pyx_pybuffernd_p.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_p.rcbuffer->pybuffer.buf, __pyx_t_56, __pyx_pybuffernd_p.diminfo[0].strides) = __pyx_t_36; __pyx_t_57 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_57 >= (size_t)__pyx_pybuffernd_ImpTheta.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer.buf, __pyx_t_57, __pyx_pybuffernd_ImpTheta.diminfo[0].strides) = __pyx_t_37; __pyx_t_58 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_58 >= (size_t)__pyx_pybuffernd_phi.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2971, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_phi.rcbuffer->pybuffer.buf, __pyx_t_58, __pyx_pybuffernd_phi.diminfo[0].strides) = __pyx_t_38; }
2972: else:
+2973: for ii in range(0,nL):
__Pyx_TraceLine(2973,0,__PYX_ERR(0, 2973, __pyx_L1_error)) /*else*/ { __pyx_t_10 = __pyx_v_nL; __pyx_t_11 = __pyx_t_10; for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { __pyx_v_ii = __pyx_t_12;
+2974: out = LOS_sino_Lin(D[0,ii],D[1,ii],D[2,ii],u[0,ii],u[1,ii],u[2,ii],
__Pyx_TraceLine(2974,0,__PYX_ERR(0, 2974, __pyx_L1_error)) __pyx_t_59 = 0; __pyx_t_60 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_59 < 0) { __pyx_t_59 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_59 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_59 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_60 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } __pyx_t_61 = 1; __pyx_t_62 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_61 < 0) { __pyx_t_61 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_61 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_61 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_62 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } __pyx_t_63 = 2; __pyx_t_64 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_63 < 0) { __pyx_t_63 += __pyx_v_D.shape[0]; if (unlikely(__pyx_t_63 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_63 >= __pyx_v_D.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_64 >= (size_t)__pyx_v_D.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } __pyx_t_65 = 0; __pyx_t_66 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_65 < 0) { __pyx_t_65 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_65 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_65 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_66 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } __pyx_t_67 = 1; __pyx_t_68 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_67 < 0) { __pyx_t_67 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_67 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_67 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_68 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } __pyx_t_69 = 2; __pyx_t_70 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_69 < 0) { __pyx_t_69 += __pyx_v_u.shape[0]; if (unlikely(__pyx_t_69 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_69 >= __pyx_v_u.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_70 >= (size_t)__pyx_v_u.shape[1])) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2974, __pyx_L1_error) } /* … */ __Pyx_TraceLine(2974,0,__PYX_ERR(0, 2974, __pyx_L1_error)) __pyx_t_74.__pyx_n = 2; __pyx_t_74.Mode = __pyx_v_Mode; __pyx_t_74.kOut = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_kOut.data) + __pyx_t_73)) ))); __pyx_t_32 = __pyx_f_4tofu_4geom_5_GG03_LOS_sino_Lin((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_59 * __pyx_v_D.strides[0]) )) + __pyx_t_60)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_61 * __pyx_v_D.strides[0]) )) + __pyx_t_62)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_D.data + __pyx_t_63 * __pyx_v_D.strides[0]) )) + __pyx_t_64)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_65 * __pyx_v_u.strides[0]) )) + __pyx_t_66)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_67 * __pyx_v_u.strides[0]) )) + __pyx_t_68)) ))), (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_u.data + __pyx_t_69 * __pyx_v_u.strides[0]) )) + __pyx_t_70)) ))), (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_RZ.data) + __pyx_t_71)) ))), (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_RZ.data) + __pyx_t_72)) ))), &__pyx_t_74); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_32); if (!(likely(PyTuple_CheckExact(__pyx_t_32))||((__pyx_t_32) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_32)->tp_name), 0))) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_out, ((PyObject*)__pyx_t_32)); __pyx_t_32 = 0;
+2975: RZ[0],RZ[1], Mode=Mode, kOut=kOut[ii])
__Pyx_TraceLine(2975,0,__PYX_ERR(0, 2975, __pyx_L1_error)) __pyx_t_71 = 0; __pyx_t_15 = -1; if (__pyx_t_71 < 0) { __pyx_t_71 += __pyx_v_RZ.shape[0]; if (unlikely(__pyx_t_71 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_71 >= __pyx_v_RZ.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2975, __pyx_L1_error) } __pyx_t_72 = 1; __pyx_t_15 = -1; if (__pyx_t_72 < 0) { __pyx_t_72 += __pyx_v_RZ.shape[0]; if (unlikely(__pyx_t_72 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_72 >= __pyx_v_RZ.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2975, __pyx_L1_error) } __pyx_t_73 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_73 >= (size_t)__pyx_v_kOut.shape[0])) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2975, __pyx_L1_error) }
+2976: ((PMin[0,ii],PMin[1,ii],PMin[2,ii]),
__Pyx_TraceLine(2976,0,__PYX_ERR(0, 2976, __pyx_L1_error)) __pyx_t_38 = __pyx_PyFloat_AsDouble(__pyx_t_31); if (unlikely((__pyx_t_38 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; __pyx_t_37 = __pyx_PyFloat_AsDouble(__pyx_t_30); if (unlikely((__pyx_t_37 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0; __pyx_t_36 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_36 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_35 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_35 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_34 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_34 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_33 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_33 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_32))) || (PyList_CheckExact(__pyx_t_32))) { PyObject* sequence = __pyx_t_32; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2976, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_41 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_40 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_39 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_41 = PyList_GET_ITEM(sequence, 0); __pyx_t_40 = PyList_GET_ITEM(sequence, 1); __pyx_t_39 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_41); __Pyx_INCREF(__pyx_t_40); __Pyx_INCREF(__pyx_t_39); #else __pyx_t_41 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_40 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_39 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_39); #endif __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0; } else { Py_ssize_t index = -1; __pyx_t_42 = PyObject_GetIter(__pyx_t_32); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0; __pyx_t_43 = Py_TYPE(__pyx_t_42)->tp_iternext; index = 0; __pyx_t_41 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_41)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_41); index = 1; __pyx_t_40 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_40)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_40); index = 2; __pyx_t_39 = __pyx_t_43(__pyx_t_42); if (unlikely(!__pyx_t_39)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_39); if (__Pyx_IternextUnpackEndCheck(__pyx_t_43(__pyx_t_42), 3) < 0) __PYX_ERR(0, 2976, __pyx_L1_error) __pyx_t_43 = NULL; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; goto __pyx_L11_unpacking_done; __pyx_L10_unpacking_failed:; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_43 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2976, __pyx_L1_error) __pyx_L11_unpacking_done:; } __pyx_t_46 = __pyx_PyFloat_AsDouble(__pyx_t_41); if (unlikely((__pyx_t_46 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_45 = __pyx_PyFloat_AsDouble(__pyx_t_40); if (unlikely((__pyx_t_45 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __pyx_t_44 = __pyx_PyFloat_AsDouble(__pyx_t_39); if (unlikely((__pyx_t_44 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0; __pyx_t_75 = 0; __pyx_t_76 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_75 < 0) { __pyx_t_75 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_75 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_75 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_76 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2976, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_75, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_76, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_46; __pyx_t_77 = 1; __pyx_t_78 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_77 < 0) { __pyx_t_77 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_77 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_77 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_78 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2976, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_77, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_78, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_45; __pyx_t_79 = 2; __pyx_t_80 = __pyx_v_ii; __pyx_t_15 = -1; if (__pyx_t_79 < 0) { __pyx_t_79 += __pyx_pybuffernd_PMin.diminfo[0].shape; if (unlikely(__pyx_t_79 < 0)) __pyx_t_15 = 0; } else if (unlikely(__pyx_t_79 >= __pyx_pybuffernd_PMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_80 >= (size_t)__pyx_pybuffernd_PMin.diminfo[1].shape)) __pyx_t_15 = 1; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2976, __pyx_L1_error) } *__Pyx_BufPtrStrided2d(double *, __pyx_pybuffernd_PMin.rcbuffer->pybuffer.buf, __pyx_t_79, __pyx_pybuffernd_PMin.diminfo[0].strides, __pyx_t_80, __pyx_pybuffernd_PMin.diminfo[1].strides) = __pyx_t_44;
+2977: kPMin[ii], RMin[ii], Theta[ii], p[ii], ImpTheta[ii], phi[ii]) = out
__Pyx_TraceLine(2977,0,__PYX_ERR(0, 2977, __pyx_L1_error)) if (likely(__pyx_v_out != Py_None)) { PyObject* sequence = __pyx_v_out; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 7)) { if (size > 7) __Pyx_RaiseTooManyValuesError(7); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2976, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_32 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_31 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_30 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 5); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 6); __Pyx_INCREF(__pyx_t_32); __Pyx_INCREF(__pyx_t_31); __Pyx_INCREF(__pyx_t_30); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); #else { Py_ssize_t i; PyObject** temps[7] = {&__pyx_t_32,&__pyx_t_31,&__pyx_t_30,&__pyx_t_2,&__pyx_t_4,&__pyx_t_3,&__pyx_t_1}; for (i=0; i < 7; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 2976, __pyx_L1_error) } /* … */ __Pyx_TraceLine(2977,0,__PYX_ERR(0, 2977, __pyx_L1_error)) __pyx_t_81 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_81 >= (size_t)__pyx_pybuffernd_kPMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_kPMin.rcbuffer->pybuffer.buf, __pyx_t_81, __pyx_pybuffernd_kPMin.diminfo[0].strides) = __pyx_t_38; __pyx_t_82 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_82 >= (size_t)__pyx_pybuffernd_RMin.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_RMin.rcbuffer->pybuffer.buf, __pyx_t_82, __pyx_pybuffernd_RMin.diminfo[0].strides) = __pyx_t_37; __pyx_t_83 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_83 >= (size_t)__pyx_pybuffernd_Theta.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_Theta.rcbuffer->pybuffer.buf, __pyx_t_83, __pyx_pybuffernd_Theta.diminfo[0].strides) = __pyx_t_36; __pyx_t_84 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_84 >= (size_t)__pyx_pybuffernd_p.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_p.rcbuffer->pybuffer.buf, __pyx_t_84, __pyx_pybuffernd_p.diminfo[0].strides) = __pyx_t_35; __pyx_t_85 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_85 >= (size_t)__pyx_pybuffernd_ImpTheta.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_ImpTheta.rcbuffer->pybuffer.buf, __pyx_t_85, __pyx_pybuffernd_ImpTheta.diminfo[0].strides) = __pyx_t_34; __pyx_t_86 = __pyx_v_ii; __pyx_t_15 = -1; if (unlikely(__pyx_t_86 >= (size_t)__pyx_pybuffernd_phi.diminfo[0].shape)) __pyx_t_15 = 0; if (unlikely(__pyx_t_15 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_15); __PYX_ERR(0, 2977, __pyx_L1_error) } *__Pyx_BufPtrStrided1d(double *, __pyx_pybuffernd_phi.rcbuffer->pybuffer.buf, __pyx_t_86, __pyx_pybuffernd_phi.diminfo[0].strides) = __pyx_t_33; } } __pyx_L3:;
+2978: return PMin, kPMin, RMin, Theta, p, ImpTheta, phi
__Pyx_TraceLine(2978,0,__PYX_ERR(0, 2978, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_PMin)); __Pyx_GIVEREF(((PyObject *)__pyx_v_PMin)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_PMin)); __Pyx_INCREF(((PyObject *)__pyx_v_kPMin)); __Pyx_GIVEREF(((PyObject *)__pyx_v_kPMin)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_kPMin)); __Pyx_INCREF(((PyObject *)__pyx_v_RMin)); __Pyx_GIVEREF(((PyObject *)__pyx_v_RMin)); PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_RMin)); __Pyx_INCREF(((PyObject *)__pyx_v_Theta)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Theta)); PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_Theta)); __Pyx_INCREF(((PyObject *)__pyx_v_p)); __Pyx_GIVEREF(((PyObject *)__pyx_v_p)); PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)__pyx_v_p)); __Pyx_INCREF(((PyObject *)__pyx_v_ImpTheta)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ImpTheta)); PyTuple_SET_ITEM(__pyx_t_1, 5, ((PyObject *)__pyx_v_ImpTheta)); __Pyx_INCREF(((PyObject *)__pyx_v_phi)); __Pyx_GIVEREF(((PyObject *)__pyx_v_phi)); PyTuple_SET_ITEM(__pyx_t_1, 6, ((PyObject *)__pyx_v_phi)); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
2979:
2980:
2981:
2982:
2983:
2984:
2985:
2986: """
2987: ########################################################
2988: ########################################################
2989: ########################################################
2990: # Solid Angle
2991: ########################################################
2992: ########################################################
2993: ########################################################
2994: """
2995:
2996:
2997: ######################################################
2998: ######################################################
2999: # Dust
3000: ######################################################
3001: ######################################################
3002:
3003:
+3004: def Dust_calc_SolidAngle(pos, r, pts,
/* Python wrapper */
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_59Dust_calc_SolidAngle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4tofu_4geom_5_GG03_58Dust_calc_SolidAngle[] = " Compute the solid angle of a moving particle of varying radius as seen\n from any number of pixed points\n\n Can be done w/o the approximation that r<<d\n If Ves (and optionally LSPoly) are provided, takes into account vignetting\n ";
static PyMethodDef __pyx_mdef_4tofu_4geom_5_GG03_59Dust_calc_SolidAngle = {"Dust_calc_SolidAngle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4tofu_4geom_5_GG03_59Dust_calc_SolidAngle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4tofu_4geom_5_GG03_58Dust_calc_SolidAngle};
static PyObject *__pyx_pw_4tofu_4geom_5_GG03_59Dust_calc_SolidAngle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_pos = 0;
PyObject *__pyx_v_r = 0;
PyObject *__pyx_v_pts = 0;
PyObject *__pyx_v_approx = 0;
PyObject *__pyx_v_out_coefonly = 0;
PyObject *__pyx_v_VType = 0;
PyObject *__pyx_v_VPoly = 0;
PyObject *__pyx_v_VIn = 0;
PyObject *__pyx_v_VLim = 0;
PyObject *__pyx_v_LSPoly = 0;
PyObject *__pyx_v_LSLim = 0;
PyObject *__pyx_v_LSVIn = 0;
PyObject *__pyx_v_Forbid = 0;
PyObject *__pyx_v_Test = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Dust_calc_SolidAngle (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_r,&__pyx_n_s_pts,&__pyx_n_s_approx,&__pyx_n_s_out_coefonly,&__pyx_n_s_VType,&__pyx_n_s_VPoly,&__pyx_n_s_VIn,&__pyx_n_s_VLim,&__pyx_n_s_LSPoly,&__pyx_n_s_LSLim,&__pyx_n_s_LSVIn,&__pyx_n_s_Forbid,&__pyx_n_s_Test,0};
PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_4tofu_4geom_5_GG03_58Dust_calc_SolidAngle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_r, PyObject *__pyx_v_pts, PyObject *__pyx_v_approx, PyObject *__pyx_v_out_coefonly, PyObject *__pyx_v_VType, PyObject *__pyx_v_VPoly, PyObject *__pyx_v_VIn, PyObject *__pyx_v_VLim, PyObject *__pyx_v_LSPoly, PyObject *__pyx_v_LSLim, PyObject *__pyx_v_LSVIn, PyObject *__pyx_v_Forbid, PyObject *__pyx_v_Test) {
PyObject *__pyx_v_block = 0;
float __pyx_v_pir2;
int __pyx_v_ii;
int __pyx_v_jj;
int __pyx_v_nptsok;
int __pyx_v_nt;
int __pyx_v_npts;
PyArrayObject *__pyx_v_sang = 0;
PyObject *__pyx_v_ind = NULL;
PyObject *__pyx_v_ptstemp = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_vis = NULL;
PyObject *__pyx_v_dij2 = NULL;
__Pyx_LocalBuf_ND __pyx_pybuffernd_sang;
__Pyx_Buffer __pyx_pybuffer_sang;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__71)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("Dust_calc_SolidAngle", 0);
__Pyx_TraceCall("Dust_calc_SolidAngle", __pyx_f[0], 3004, 0, __PYX_ERR(0, 3004, __pyx_L1_error));
__pyx_pybuffer_sang.pybuffer.buf = NULL;
__pyx_pybuffer_sang.refcount = 0;
__pyx_pybuffernd_sang.data = NULL;
__pyx_pybuffernd_sang.rcbuffer = &__pyx_pybuffer_sang;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_14);
{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sang.rcbuffer->pybuffer);
__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
__Pyx_AddTraceback("tofu.geom._GG03.Dust_calc_SolidAngle", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
goto __pyx_L2;
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sang.rcbuffer->pybuffer);
__pyx_L2:;
__Pyx_XDECREF(__pyx_v_block);
__Pyx_XDECREF((PyObject *)__pyx_v_sang);
__Pyx_XDECREF(__pyx_v_ind);
__Pyx_XDECREF(__pyx_v_ptstemp);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_vis);
__Pyx_XDECREF(__pyx_v_dij2);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__150 = PyTuple_Pack(27, __pyx_n_s_pos, __pyx_n_s_r, __pyx_n_s_pts, __pyx_n_s_approx, __pyx_n_s_out_coefonly, __pyx_n_s_VType, __pyx_n_s_VPoly, __pyx_n_s_VIn, __pyx_n_s_VLim, __pyx_n_s_LSPoly, __pyx_n_s_LSLim, __pyx_n_s_LSVIn, __pyx_n_s_Forbid, __pyx_n_s_Test, __pyx_n_s_block, __pyx_n_s_pir2, __pyx_n_s_ii, __pyx_n_s_jj, __pyx_n_s_nptsok, __pyx_n_s_nt, __pyx_n_s_npts, __pyx_n_s_sang, __pyx_n_s_ind, __pyx_n_s_ptstemp, __pyx_n_s_k, __pyx_n_s_vis, __pyx_n_s_dij2); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(0, 3004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__150);
__Pyx_GIVEREF(__pyx_tuple__150);
__pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(14, 0, 27, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tofu_geom__GG03_pyx, __pyx_n_s_Dust_calc_SolidAngle, 3004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 3004, __pyx_L1_error)
/* … */
__Pyx_TraceLine(3004,0,__PYX_ERR(0, 3004, __pyx_L1_error))
__pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4tofu_4geom_5_GG03_59Dust_calc_SolidAngle, 0, __pyx_n_s_Dust_calc_SolidAngle, NULL, __pyx_n_s_tofu_geom__GG03, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__151);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Dust_calc_SolidAngle, __pyx_t_2) < 0) __PYX_ERR(0, 3004, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__151 = PyTuple_Pack(11, ((PyObject *)Py_True), ((PyObject *)Py_False), ((PyObject*)__pyx_n_s_Tor), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_True), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(0, 3004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__151);
__Pyx_GIVEREF(__pyx_tuple__151);
+3005: approx=True, out_coefonly=False,
values[3] = ((PyObject *)((PyObject *)Py_True));
values[4] = ((PyObject *)((PyObject *)Py_False));
values[5] = ((PyObject *)((PyObject*)__pyx_n_s_Tor));
+3006: VType='Tor', VPoly=None, VIn=None, VLim=None,
values[6] = ((PyObject *)((PyObject *)Py_None));
values[7] = ((PyObject *)((PyObject *)Py_None));
values[8] = ((PyObject *)((PyObject *)Py_None));
+3007: LSPoly=None, LSLim=None, LSVIn=None, Forbid=True,
values[9] = ((PyObject *)((PyObject *)Py_None));
values[10] = ((PyObject *)((PyObject *)Py_None));
values[11] = ((PyObject *)((PyObject *)Py_None));
values[12] = ((PyObject *)((PyObject *)Py_True));
+3008: Test=True):
values[13] = ((PyObject *)((PyObject *)Py_True));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("Dust_calc_SolidAngle", 0, 3, 14, 1); __PYX_ERR(0, 3004, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pts)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("Dust_calc_SolidAngle", 0, 3, 14, 2); __PYX_ERR(0, 3004, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_approx);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_coefonly);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VType);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VPoly);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VIn);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_VLim);
if (value) { values[8] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSPoly);
if (value) { values[9] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSLim);
if (value) { values[10] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 11:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_LSVIn);
if (value) { values[11] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 12:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Forbid);
if (value) { values[12] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 13:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Test);
if (value) { values[13] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Dust_calc_SolidAngle") < 0)) __PYX_ERR(0, 3004, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_pos = values[0];
__pyx_v_r = values[1];
__pyx_v_pts = values[2];
__pyx_v_approx = values[3];
__pyx_v_out_coefonly = values[4];
__pyx_v_VType = values[5];
__pyx_v_VPoly = values[6];
__pyx_v_VIn = values[7];
__pyx_v_VLim = values[8];
__pyx_v_LSPoly = values[9];
__pyx_v_LSLim = values[10];
__pyx_v_LSVIn = values[11];
__pyx_v_Forbid = values[12];
__pyx_v_Test = values[13];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("Dust_calc_SolidAngle", 0, 3, 14, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3004, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("tofu.geom._GG03.Dust_calc_SolidAngle", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4tofu_4geom_5_GG03_58Dust_calc_SolidAngle(__pyx_self, __pyx_v_pos, __pyx_v_r, __pyx_v_pts, __pyx_v_approx, __pyx_v_out_coefonly, __pyx_v_VType, __pyx_v_VPoly, __pyx_v_VIn, __pyx_v_VLim, __pyx_v_LSPoly, __pyx_v_LSLim, __pyx_v_LSVIn, __pyx_v_Forbid, __pyx_v_Test);
3009: """ Compute the solid angle of a moving particle of varying radius as seen
3010: from any number of pixed points
3011:
3012: Can be done w/o the approximation that r<<d
3013: If Ves (and optionally LSPoly) are provided, takes into account vignetting
3014: """
+3015: cdef block = VPoly is not None
__Pyx_TraceLine(3015,0,__PYX_ERR(0, 3015, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_VPoly != Py_None); __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_block = __pyx_t_2; __pyx_t_2 = 0;
3016: cdef float pir2
+3017: cdef int ii, jj, nptsok, nt=pos.shape[1], npts=pts.shape[1]
__Pyx_TraceLine(3017,0,__PYX_ERR(0, 3017, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pos, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nt = __pyx_t_4; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pts, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_npts = __pyx_t_4;
+3018: cdef cnp.ndarray[double, ndim=2, mode='c'] sang=np.zeros((nt,npts))
__Pyx_TraceLine(3018,0,__PYX_ERR(0, 3018, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_npts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3018, __pyx_L1_error) __pyx_t_8 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_sang.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_sang = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_sang.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 3018, __pyx_L1_error) } else {__pyx_pybuffernd_sang.diminfo[0].strides = __pyx_pybuffernd_sang.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_sang.diminfo[0].shape = __pyx_pybuffernd_sang.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_sang.diminfo[1].strides = __pyx_pybuffernd_sang.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_sang.diminfo[1].shape = __pyx_pybuffernd_sang.rcbuffer->pybuffer.shape[1]; } } __pyx_t_8 = 0; __pyx_v_sang = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
3019:
+3020: if block:
__Pyx_TraceLine(3020,0,__PYX_ERR(0, 3020, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_block); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3020, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+3021: ind = ~_Ves_isInside(pts, VPoly, Lim=VLim, VType=VType,
__Pyx_TraceLine(3021,0,__PYX_ERR(0, 3021, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ves_isInside); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_pts); __Pyx_GIVEREF(__pyx_v_pts); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_pts); __Pyx_INCREF(__pyx_v_VPoly); __Pyx_GIVEREF(__pyx_v_VPoly); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_VPoly); __pyx_t_7 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Lim, __pyx_v_VLim) < 0) __PYX_ERR(0, 3021, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_VType, __pyx_v_VType) < 0) __PYX_ERR(0, 3021, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_In, __pyx_kp_s_X_Y_Z) < 0) __PYX_ERR(0, 3021, __pyx_L1_error) /* … */ __Pyx_TraceLine(3021,0,__PYX_ERR(0, 3021, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Invert(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_ind = __pyx_t_7; __pyx_t_7 = 0;
+3022: In='(X,Y,Z)', Test=Test)
__Pyx_TraceLine(3022,0,__PYX_ERR(0, 3022, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Test, __pyx_v_Test) < 0) __PYX_ERR(0, 3021, __pyx_L1_error)
+3023: if LSPoly is not None:
__Pyx_TraceLine(3023,0,__PYX_ERR(0, 3023, __pyx_L1_error)) __pyx_t_1 = (__pyx_v_LSPoly != Py_None); __pyx_t_9 = (__pyx_t_1 != 0); if (__pyx_t_9) { /* … */ }
+3024: for ii in range(0,len(LSPoly)):
__Pyx_TraceLine(3024,0,__PYX_ERR(0, 3024, __pyx_L1_error)) __pyx_t_10 = PyObject_Length(__pyx_v_LSPoly); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3024, __pyx_L1_error) __pyx_t_11 = __pyx_t_10; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_11; __pyx_t_4+=1) { __pyx_v_ii = __pyx_t_4;
+3025: ind = ind & _Ves_isInside(pts, LSPoly[ii], Lim=LSLim[ii],
__Pyx_TraceLine(3025,0,__PYX_ERR(0, 3025, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Ves_isInside); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_LSPoly, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_pts); __Pyx_GIVEREF(__pyx_v_pts); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_pts); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_LSLim, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_Lim, __pyx_t_2) < 0) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __Pyx_TraceLine(3025,0,__PYX_ERR(0, 3025, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_And(__pyx_v_ind, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_ind, __pyx_t_6); __pyx_t_6 = 0; }
+3026: VType=VType, In='(X,Y,Z)', Test=Test)
__Pyx_TraceLine(3026,0,__PYX_ERR(0, 3026, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_VType, __pyx_v_VType) < 0) __PYX_ERR(0, 3025, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_In, __pyx_kp_s_X_Y_Z) < 0) __PYX_ERR(0, 3025, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_Test, __pyx_v_Test) < 0) __PYX_ERR(0, 3025, __pyx_L1_error)
+3027: ind = (~ind).nonzero()[0]
__Pyx_TraceLine(3027,0,__PYX_ERR(0, 3027, __pyx_L1_error)) __pyx_t_2 = PyNumber_Invert(__pyx_v_ind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_nonzero); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_ind, __pyx_t_5); __pyx_t_5 = 0;
+3028: ptstemp = np.ascontiguousarray(pts[:,ind])
__Pyx_TraceLine(3028,0,__PYX_ERR(0, 3028, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_slice__9); __Pyx_INCREF(__pyx_v_ind); __Pyx_GIVEREF(__pyx_v_ind); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_ind); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ptstemp = __pyx_t_5; __pyx_t_5 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3028, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9);
+3029: nptsok = ind.size
__Pyx_TraceLine(3029,0,__PYX_ERR(0, 3029, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_ind, __pyx_n_s_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3029, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_nptsok = __pyx_t_4;
3030:
+3031: if approx and out_coefonly:
__Pyx_TraceLine(3031,0,__PYX_ERR(0, 3031, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_approx); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3031, __pyx_L1_error) if (__pyx_t_1) { } else { __pyx_t_9 = __pyx_t_1; goto __pyx_L8_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_out_coefonly); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3031, __pyx_L1_error) __pyx_t_9 = __pyx_t_1; __pyx_L8_bool_binop_done:; if (__pyx_t_9) { /* … */ goto __pyx_L7; }
+3032: for ii in range(0,nt):
__Pyx_TraceLine(3032,0,__PYX_ERR(0, 3032, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3033: k = np.sqrt((pos[0,ii]-ptstemp[0,:])**2
__Pyx_TraceLine(3033,0,__PYX_ERR(0, 3033, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__39); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyNumber_Subtract(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+3034: + (pos[1,ii]-ptstemp[1,:])**2
__Pyx_TraceLine(3034,0,__PYX_ERR(0, 3034, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__45); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = PyNumber_Subtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Power(__pyx_t_14, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Add(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+3035: + (pos[2,ii]-ptstemp[2,:])**2)
__Pyx_TraceLine(3035,0,__PYX_ERR(0, 3035, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__35); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyNumber_Subtract(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_14, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_5); __pyx_t_5 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 3035, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
3036:
+3037: vis = LOS_isVis_PtFromPts_VesStruct(pos[0,ii], pos[1,ii],
__Pyx_TraceLine(3037,0,__PYX_ERR(0, 3037, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __Pyx_TraceLine(3037,0,__PYX_ERR(0, 3037, __pyx_L1_error)) __pyx_t_14 = PyTuple_New(7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_6); __Pyx_INCREF(__pyx_v_k); __Pyx_GIVEREF(__pyx_v_k); PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_v_k); __Pyx_INCREF(__pyx_v_ptstemp); __Pyx_GIVEREF(__pyx_v_ptstemp); PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_v_ptstemp); __Pyx_INCREF(__pyx_v_VPoly); __Pyx_GIVEREF(__pyx_v_VPoly); PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_v_VPoly); __Pyx_INCREF(__pyx_v_VIn); __Pyx_GIVEREF(__pyx_v_VIn); PyTuple_SET_ITEM(__pyx_t_14, 6, __pyx_v_VIn); __pyx_t_7 = 0; __pyx_t_3 = 0; __pyx_t_6 = 0; /* … */ __Pyx_TraceLine(3037,0,__PYX_ERR(0, 3037, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_vis, __pyx_t_3); __pyx_t_3 = 0;
+3038: pos[2,ii], k, ptstemp,
__Pyx_TraceLine(3038,0,__PYX_ERR(0, 3038, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+3039: VPoly, VIn, Lim=VLim,
__Pyx_TraceLine(3039,0,__PYX_ERR(0, 3039, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_Lim, __pyx_v_VLim) < 0) __PYX_ERR(0, 3039, __pyx_L1_error)
+3040: LSPoly=LSPoly, LSLim=LSLim,
__Pyx_TraceLine(3040,0,__PYX_ERR(0, 3040, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_LSPoly, __pyx_v_LSPoly) < 0) __PYX_ERR(0, 3039, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_LSLim, __pyx_v_LSLim) < 0) __PYX_ERR(0, 3039, __pyx_L1_error)
+3041: LSVIn=LSVIn, Forbid=Forbid,
__Pyx_TraceLine(3041,0,__PYX_ERR(0, 3041, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_LSVIn, __pyx_v_LSVIn) < 0) __PYX_ERR(0, 3039, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_Forbid, __pyx_v_Forbid) < 0) __PYX_ERR(0, 3039, __pyx_L1_error)
+3042: VType=VType, Test=Test)
__Pyx_TraceLine(3042,0,__PYX_ERR(0, 3042, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_VType, __pyx_v_VType) < 0) __PYX_ERR(0, 3039, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_Test, __pyx_v_Test) < 0) __PYX_ERR(0, 3039, __pyx_L1_error)
+3043: for jj in range(0,nptsok):
__Pyx_TraceLine(3043,0,__PYX_ERR(0, 3043, __pyx_L1_error)) __pyx_t_15 = __pyx_v_nptsok; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3044: if vis[jj]:
__Pyx_TraceLine(3044,0,__PYX_ERR(0, 3044, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_vis, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_9) { /* … */ } } }
+3045: sang[ii,ind[jj]] = Cpi/k[jj]**2
__Pyx_TraceLine(3045,0,__PYX_ERR(0, 3045, __pyx_L1_error)) __pyx_t_3 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_k, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = PyNumber_Power(__pyx_t_6, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_ind, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __pyx_t_14 = 0; __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sang), __pyx_t_5, __pyx_t_6) < 0)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+3046: elif approx:
__Pyx_TraceLine(3046,0,__PYX_ERR(0, 3046, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_approx); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3046, __pyx_L1_error) if (__pyx_t_9) { /* … */ goto __pyx_L7; }
+3047: for ii in range(0,nt):
__Pyx_TraceLine(3047,0,__PYX_ERR(0, 3047, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3048: k = np.sqrt((pos[0,ii]-ptstemp[0,:])**2
__Pyx_TraceLine(3048,0,__PYX_ERR(0, 3048, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+3049: + (pos[1,ii]-ptstemp[1,:])**2
__Pyx_TraceLine(3049,0,__PYX_ERR(0, 3049, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__45); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Subtract(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Power(__pyx_t_2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_14, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+3050: + (pos[2,ii]-ptstemp[2,:])**2)
__Pyx_TraceLine(3050,0,__PYX_ERR(0, 3050, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__35); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_6); __pyx_t_6 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
3051:
+3052: vis = LOS_isVis_PtFromPts_VesStruct(pos[0,ii], pos[1,ii],
__Pyx_TraceLine(3052,0,__PYX_ERR(0, 3052, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* … */ __Pyx_TraceLine(3052,0,__PYX_ERR(0, 3052, __pyx_L1_error)) __pyx_t_2 = PyTuple_New(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_14); __Pyx_INCREF(__pyx_v_k); __Pyx_GIVEREF(__pyx_v_k); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_k); __Pyx_INCREF(__pyx_v_ptstemp); __Pyx_GIVEREF(__pyx_v_ptstemp); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_ptstemp); __Pyx_INCREF(__pyx_v_VPoly); __Pyx_GIVEREF(__pyx_v_VPoly); PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_VPoly); __Pyx_INCREF(__pyx_v_VIn); __Pyx_GIVEREF(__pyx_v_VIn); PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_VIn); __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_14 = 0; /* … */ __Pyx_TraceLine(3052,0,__PYX_ERR(0, 3052, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF_SET(__pyx_v_vis, __pyx_t_7); __pyx_t_7 = 0;
+3053: pos[2,ii], k, ptstemp,
__Pyx_TraceLine(3053,0,__PYX_ERR(0, 3053, __pyx_L1_error)) __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3054: VPoly, VIn, Lim=VLim,
__Pyx_TraceLine(3054,0,__PYX_ERR(0, 3054, __pyx_L1_error)) __pyx_t_14 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_Lim, __pyx_v_VLim) < 0) __PYX_ERR(0, 3054, __pyx_L1_error)
+3055: LSPoly=LSPoly, LSLim=LSLim,
__Pyx_TraceLine(3055,0,__PYX_ERR(0, 3055, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_LSPoly, __pyx_v_LSPoly) < 0) __PYX_ERR(0, 3054, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_LSLim, __pyx_v_LSLim) < 0) __PYX_ERR(0, 3054, __pyx_L1_error)
+3056: LSVIn=LSVIn, Forbid=Forbid,
__Pyx_TraceLine(3056,0,__PYX_ERR(0, 3056, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_LSVIn, __pyx_v_LSVIn) < 0) __PYX_ERR(0, 3054, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_Forbid, __pyx_v_Forbid) < 0) __PYX_ERR(0, 3054, __pyx_L1_error)
+3057: VType=VType, Test=Test)
__Pyx_TraceLine(3057,0,__PYX_ERR(0, 3057, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_VType, __pyx_v_VType) < 0) __PYX_ERR(0, 3054, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_Test, __pyx_v_Test) < 0) __PYX_ERR(0, 3054, __pyx_L1_error)
+3058: pir2 = Cpi*r[ii]**2
__Pyx_TraceLine(3058,0,__PYX_ERR(0, 3058, __pyx_L1_error)) __pyx_t_7 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_r, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyNumber_Power(__pyx_t_14, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = __pyx_PyFloat_AsFloat(__pyx_t_14); if (unlikely((__pyx_t_18 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_pir2 = __pyx_t_18;
+3059: for jj in range(0,nptsok):
__Pyx_TraceLine(3059,0,__PYX_ERR(0, 3059, __pyx_L1_error)) __pyx_t_15 = __pyx_v_nptsok; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3060: if vis[jj]:
__Pyx_TraceLine(3060,0,__PYX_ERR(0, 3060, __pyx_L1_error)) __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_vis, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_9) { /* … */ } } }
+3061: sang[ii,ind[jj]] = pir2/k[jj]**2
__Pyx_TraceLine(3061,0,__PYX_ERR(0, 3061, __pyx_L1_error)) __pyx_t_14 = PyFloat_FromDouble(__pyx_v_pir2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_k, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyNumber_Power(__pyx_t_2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_14, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_ind, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_14); __pyx_t_7 = 0; __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sang), __pyx_t_6, __pyx_t_2) < 0)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3062: else:
+3063: pir2 = 2*Cpi
__Pyx_TraceLine(3063,0,__PYX_ERR(0, 3063, __pyx_L1_error)) /*else*/ { __pyx_v_pir2 = (2.0 * M_PI);
+3064: for ii in range(0,nt):
__Pyx_TraceLine(3064,0,__PYX_ERR(0, 3064, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3065: k = np.sqrt((pos[0,ii]-ptstemp[0,:])**2
__Pyx_TraceLine(3065,0,__PYX_ERR(0, 3065, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__39); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyNumber_Subtract(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_tuple__39 = PyTuple_Pack(2, __pyx_int_0, __pyx_slice__9); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+3066: + (pos[1,ii]-ptstemp[1,:])**2
__Pyx_TraceLine(3066,0,__PYX_ERR(0, 3066, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__45); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_1, __pyx_slice__9); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+3067: + (pos[2,ii]-ptstemp[2,:])**2)
__Pyx_TraceLine(3067,0,__PYX_ERR(0, 3067, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_ptstemp, __pyx_tuple__35); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyNumber_Subtract(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2); __pyx_t_2 = 0; __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_2, __pyx_slice__9); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
3068:
+3069: vis = LOS_isVis_PtFromPts_VesStruct(pos[0,ii], pos[1,ii],
__Pyx_TraceLine(3069,0,__PYX_ERR(0, 3069, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_LOS_isVis_PtFromPts_VesStruct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __Pyx_TraceLine(3069,0,__PYX_ERR(0, 3069, __pyx_L1_error)) __pyx_t_5 = PyTuple_New(7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_7); __Pyx_INCREF(__pyx_v_k); __Pyx_GIVEREF(__pyx_v_k); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_k); __Pyx_INCREF(__pyx_v_ptstemp); __Pyx_GIVEREF(__pyx_v_ptstemp); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_v_ptstemp); __Pyx_INCREF(__pyx_v_VPoly); __Pyx_GIVEREF(__pyx_v_VPoly); PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_v_VPoly); __Pyx_INCREF(__pyx_v_VIn); __Pyx_GIVEREF(__pyx_v_VIn); PyTuple_SET_ITEM(__pyx_t_5, 6, __pyx_v_VIn); __pyx_t_14 = 0; __pyx_t_3 = 0; __pyx_t_7 = 0; /* … */ __Pyx_TraceLine(3069,0,__PYX_ERR(0, 3069, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_vis, __pyx_t_3); __pyx_t_3 = 0;
+3070: pos[2,ii], k, ptstemp,
__Pyx_TraceLine(3070,0,__PYX_ERR(0, 3070, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3071: VPoly, VIn, Lim=VLim,
__Pyx_TraceLine(3071,0,__PYX_ERR(0, 3071, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Lim, __pyx_v_VLim) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
+3072: LSPoly=LSPoly, LSLim=LSLim,
__Pyx_TraceLine(3072,0,__PYX_ERR(0, 3072, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_LSPoly, __pyx_v_LSPoly) < 0) __PYX_ERR(0, 3071, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_LSLim, __pyx_v_LSLim) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
+3073: LSVIn=LSVIn, Forbid=Forbid,
__Pyx_TraceLine(3073,0,__PYX_ERR(0, 3073, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_LSVIn, __pyx_v_LSVIn) < 0) __PYX_ERR(0, 3071, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Forbid, __pyx_v_Forbid) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
+3074: VType=VType, Test=Test)
__Pyx_TraceLine(3074,0,__PYX_ERR(0, 3074, __pyx_L1_error)) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_VType, __pyx_v_VType) < 0) __PYX_ERR(0, 3071, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_Test, __pyx_v_Test) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
+3075: for jj in range(0,nptsok):
__Pyx_TraceLine(3075,0,__PYX_ERR(0, 3075, __pyx_L1_error)) __pyx_t_15 = __pyx_v_nptsok; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3076: if vis[jj]:
__Pyx_TraceLine(3076,0,__PYX_ERR(0, 3076, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_vis, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3076, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_9) { /* … */ } } } } __pyx_L7:;
+3077: sang[ii,ind[jj]] = pir2*(1-Csqrt(1-r[ii]**2/k[jj]**2))
__Pyx_TraceLine(3077,0,__PYX_ERR(0, 3077, __pyx_L1_error)) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_r, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_k, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_3, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble((__pyx_v_pir2 * (1.0 - sqrt(__pyx_t_19)))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_ind, __pyx_v_jj, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_sang), __pyx_t_2, __pyx_t_5) < 0)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3078:
3079: else:
+3080: if approx and out_coefonly:
__Pyx_TraceLine(3080,0,__PYX_ERR(0, 3080, __pyx_L1_error)) /*else*/ { __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_approx); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3080, __pyx_L1_error) if (__pyx_t_1) { } else { __pyx_t_9 = __pyx_t_1; goto __pyx_L26_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_out_coefonly); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3080, __pyx_L1_error) __pyx_t_9 = __pyx_t_1; __pyx_L26_bool_binop_done:; if (__pyx_t_9) { /* … */ goto __pyx_L25; }
+3081: for ii in range(0,nt):
__Pyx_TraceLine(3081,0,__PYX_ERR(0, 3081, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3082: for jj in range(0,npts):
__Pyx_TraceLine(3082,0,__PYX_ERR(0, 3082, __pyx_L1_error)) __pyx_t_15 = __pyx_v_npts; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3083: dij2 = ((pos[0,ii]-pts[0,jj])**2
__Pyx_TraceLine(3083,0,__PYX_ERR(0, 3083, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3084: + (pos[1,ii]-pts[1,jj])**2
__Pyx_TraceLine(3084,0,__PYX_ERR(0, 3084, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Power(__pyx_t_3, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3085: + (pos[2,ii]-pts[2,jj])**2)
__Pyx_TraceLine(3085,0,__PYX_ERR(0, 3085, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_dij2, __pyx_t_7); __pyx_t_7 = 0;
+3086: sang[ii,jj] = Cpi/dij2
__Pyx_TraceLine(3086,0,__PYX_ERR(0, 3086, __pyx_L1_error)) __pyx_t_7 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_v_dij2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_20 = __pyx_v_ii; __pyx_t_21 = __pyx_v_jj; __pyx_t_22 = -1; if (__pyx_t_20 < 0) { __pyx_t_20 += __pyx_pybuffernd_sang.diminfo[0].shape; if (unlikely(__pyx_t_20 < 0)) __pyx_t_22 = 0; } else if (unlikely(__pyx_t_20 >= __pyx_pybuffernd_sang.diminfo[0].shape)) __pyx_t_22 = 0; if (__pyx_t_21 < 0) { __pyx_t_21 += __pyx_pybuffernd_sang.diminfo[1].shape; if (unlikely(__pyx_t_21 < 0)) __pyx_t_22 = 1; } else if (unlikely(__pyx_t_21 >= __pyx_pybuffernd_sang.diminfo[1].shape)) __pyx_t_22 = 1; if (unlikely(__pyx_t_22 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_22); __PYX_ERR(0, 3086, __pyx_L1_error) } *__Pyx_BufPtrCContig2d(double *, __pyx_pybuffernd_sang.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_sang.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_sang.diminfo[1].strides) = __pyx_t_19; } }
+3087: elif approx:
__Pyx_TraceLine(3087,0,__PYX_ERR(0, 3087, __pyx_L1_error)) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_approx); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3087, __pyx_L1_error) if (__pyx_t_9) { /* … */ goto __pyx_L25; }
+3088: for ii in range(0,nt):
__Pyx_TraceLine(3088,0,__PYX_ERR(0, 3088, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3089: pir2 = Cpi*r[ii]**2
__Pyx_TraceLine(3089,0,__PYX_ERR(0, 3089, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(M_PI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_r, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = __pyx_PyFloat_AsFloat(__pyx_t_7); if (unlikely((__pyx_t_18 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 3089, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_pir2 = __pyx_t_18;
+3090: for jj in range(0,npts):
__Pyx_TraceLine(3090,0,__PYX_ERR(0, 3090, __pyx_L1_error)) __pyx_t_15 = __pyx_v_npts; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3091: dij2 = ((pos[0,ii]-pts[0,jj])**2
__Pyx_TraceLine(3091,0,__PYX_ERR(0, 3091, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(__pyx_t_2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3092: + (pos[0,ii]-pts[0,jj])**2
__Pyx_TraceLine(3092,0,__PYX_ERR(0, 3092, __pyx_L1_error)) __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3093: + (pos[0,ii]-pts[0,jj])**2)
__Pyx_TraceLine(3093,0,__PYX_ERR(0, 3093, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(__pyx_t_2, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_dij2, __pyx_t_2); __pyx_t_2 = 0;
+3094: sang[ii,jj] = pir2/dij2
__Pyx_TraceLine(3094,0,__PYX_ERR(0, 3094, __pyx_L1_error)) __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pir2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_dij2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_23 = __pyx_v_ii; __pyx_t_24 = __pyx_v_jj; __pyx_t_22 = -1; if (__pyx_t_23 < 0) { __pyx_t_23 += __pyx_pybuffernd_sang.diminfo[0].shape; if (unlikely(__pyx_t_23 < 0)) __pyx_t_22 = 0; } else if (unlikely(__pyx_t_23 >= __pyx_pybuffernd_sang.diminfo[0].shape)) __pyx_t_22 = 0; if (__pyx_t_24 < 0) { __pyx_t_24 += __pyx_pybuffernd_sang.diminfo[1].shape; if (unlikely(__pyx_t_24 < 0)) __pyx_t_22 = 1; } else if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_sang.diminfo[1].shape)) __pyx_t_22 = 1; if (unlikely(__pyx_t_22 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_22); __PYX_ERR(0, 3094, __pyx_L1_error) } *__Pyx_BufPtrCContig2d(double *, __pyx_pybuffernd_sang.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_sang.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_sang.diminfo[1].strides) = __pyx_t_19; } }
3095: else:
+3096: pir2 = 2*Cpi
__Pyx_TraceLine(3096,0,__PYX_ERR(0, 3096, __pyx_L1_error)) /*else*/ { __pyx_v_pir2 = (2.0 * M_PI);
+3097: for ii in range(0,nt):
__Pyx_TraceLine(3097,0,__PYX_ERR(0, 3097, __pyx_L1_error)) __pyx_t_4 = __pyx_v_nt; __pyx_t_12 = __pyx_t_4; for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_ii = __pyx_t_13;
+3098: for jj in range(0,npts):
__Pyx_TraceLine(3098,0,__PYX_ERR(0, 3098, __pyx_L1_error)) __pyx_t_15 = __pyx_v_npts; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_jj = __pyx_t_17;
+3099: dij2 = ((pos[0,ii]-pts[0,jj])**2
__Pyx_TraceLine(3099,0,__PYX_ERR(0, 3099, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3100: + (pos[0,ii]-pts[0,jj])**2
__Pyx_TraceLine(3100,0,__PYX_ERR(0, 3100, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Power(__pyx_t_7, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3101: + (pos[0,ii]-pts[0,jj])**2)
__Pyx_TraceLine(3101,0,__PYX_ERR(0, 3101, __pyx_L1_error)) __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ii); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pos, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pts, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_dij2, __pyx_t_5); __pyx_t_5 = 0;
+3102: sang[ii,jj] = pir2*(1-Csqrt(1-r[ii]**2/dij2))
__Pyx_TraceLine(3102,0,__PYX_ERR(0, 3102, __pyx_L1_error)) __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_r, __pyx_v_ii, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_dij2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_5, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_25 = __pyx_v_ii; __pyx_t_26 = __pyx_v_jj; __pyx_t_22 = -1; if (__pyx_t_25 < 0) { __pyx_t_25 += __pyx_pybuffernd_sang.diminfo[0].shape; if (unlikely(__pyx_t_25 < 0)) __pyx_t_22 = 0; } else if (unlikely(__pyx_t_25 >= __pyx_pybuffernd_sang.diminfo[0].shape)) __pyx_t_22 = 0; if (__pyx_t_26 < 0) { __pyx_t_26 += __pyx_pybuffernd_sang.diminfo[1].shape; if (unlikely(__pyx_t_26 < 0)) __pyx_t_22 = 1; } else if (unlikely(__pyx_t_26 >= __pyx_pybuffernd_sang.diminfo[1].shape)) __pyx_t_22 = 1; if (unlikely(__pyx_t_22 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_22); __PYX_ERR(0, 3102, __pyx_L1_error) } *__Pyx_BufPtrCContig2d(double *, __pyx_pybuffernd_sang.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_sang.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_sang.diminfo[1].strides) = (__pyx_v_pir2 * (1.0 - sqrt(__pyx_t_19))); } } } __pyx_L25:; } __pyx_L3:;
+3103: return sang
__Pyx_TraceLine(3103,0,__PYX_ERR(0, 3103, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_sang)); __pyx_r = ((PyObject *)__pyx_v_sang); goto __pyx_L0;